Docker 系列之 DockerDesktop 常用第三方应用安装以及命令解释
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 系列之 DockerDesktop 常用第三方应用安装以及命令解释相关的知识,希望对你有一定的参考价值。
分享一下我使用过的大部分 docker 镜像安装代码,省的去找的时候不方便。
Docker 常用命令解释
docker version //查看版本详情
docker info //查看docker详情
docker images //查看所有存在的镜像
docker search imagename //搜索指定名字的镜像
docker pull 镜像名:tag(可为空) // tag 不加,默认为 latest(最新版) 加了,就是指定版本
docker run 镜像名:Tag(可为空) //运行指定的镜像
docker image rm 镜像名称:Tag(可为空)/镜像ID //删除指定的镜像或者通过镜像ID来删除
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字 //存储为tar格式的压缩包
docker load -i name.tar // 加载镜像从tar压缩包
docker ps //查看正在运行的容器
docker stop 容器名/容器ID //停止一个在运行的容器
docker start 容器名/容器ID //启动一个在运行的容器
下边列举了大部分常用的命令,其他的可以查询官网作为补充。
docker version
![null](https://image.cha138.com/20220924/575f8ebf177944e1b703737080ba4137.jpg)
docker info
![null](https://image.cha138.com/20220924/cab83fb798a54d64924d59853b5458ab.jpg)
docker images
![null](https://image.cha138.com/20220924/5a27163bdd7449edbfc4567e7cdb9486.jpg)
docker search imagename
![null](https://image.cha138.com/20220924/30b709e0ae9e47048851cbe2ab2456a7.jpg)
也可以在官网 进行查询 :https://hub.docker.com/search?q=&type=image
docker pull 镜像名
![null](https://image.cha138.com/20220924/349585507ab940f881eb10403656ca3f.jpg)
docker run 镜像名
![null](https://image.cha138.com/20220924/c2d1b40eb22f4a1b8fa1f82cc9e1ae5c.jpg)
运行是可以运行,但是,要根据具体的镜像来进行指定的设置才可以,此处只做举例。
其实run命令内部包含了很多的参数,下面就对其实际用的参数,做个简单的解析,更多的还需要参考官网
举个例子
docker run -p 3306:3306 --name mysql -v /d/dockerConfig/mysql/data:/var/lib/mysql -v /d/dockerConfig/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
端口映射 -p
-p 宿主机端口:容器端口
这个概念有点像,容器端口就是服务器内部的应用自己的端口。而宿主机端口,就是外网端口,你要访问的实际端口,这个端口会冲突,只能有一个。因为你是基于外网进行访问的。
如果有两个redis,可能配置如下所示(外部的端口,对同一个IP来讲端口不能重复的,但是,容器内部,它自己就是本身的端口)
-p 6379:6379
-p 6380:6379
--name
这就是给容器取了个名字
-v 数据挂载
-v 宿主机文件存储位置:容器内文件位置
其实也算是映射,就是让容器里的某个文件路径映射到容器外的某个路径上,这样,写入容器的内容,就直接写到容器外的路径了。
-e 环境变量
-e key=value -e key2=value2
需要把环境变量传递给容器,让容器运行的时候,就有这些环境变量
-d 后台运行
就是让此服务,在后台运行,否则的话,运行的时候,命令行就能看到其日志,关闭控制台,此服务就停止了。
--restart=always
开机自启动功能,实际上它是容器引擎服务启动,它才启动。
要设置容器引擎开机启动才可以
我这边是Docker Desktop,所以,需要设置
![null](https://image.cha138.com/20220924/0036d47ae349454d8e37d9e78a8a496a.jpg)
docker image rm 镜像名称
![null](https://image.cha138.com/20220924/205aacf32a344bcb896ca4dfb01c5e43.jpg)
docker save 镜像名/镜像ID -o 镜像保存位置
![null](https://image.cha138.com/20220924/d807757defbc42cbbccbe88af780a985.jpg)
E盘下就有此文件了 redis.tar
docker load -i name.tar
![null](https://image.cha138.com/20220924/e455beb6e71c4bdd93b64d8beb6905ed.jpg)
docker ps
![null](https://image.cha138.com/20220924/e809b2516a564dfab71bfbbc2778eb6d.jpg)
docker stop 容器名/容器id
![null](https://image.cha138.com/20220924/0cba4f13cc454f98b824ab86041a67a7.jpg)
docker start 容器名/容器id
![null](https://image.cha138.com/20220924/5be99027a09a40bc9c5d45a06e9ce1b5.jpg)
常用容器的使用命令
mysql
主要要配置映射文件的路径
docker run -p 3306:3306 --name mysql -v /d/dockerConfig/mysql/data:/var/lib/mysql -v /d/dockerConfig/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
Elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.2
可以请求此地址 : localhost:9200/_license/start_trial?acknowledge=true&pretty
activemq
docker run --name activemq -it --rm -d -p 8161:8161 -p 61616:61616 -p 61613:61613 webcenter/activemq:latest
admin admin http://127.0.0.1:8161/admin/
consul
docker run -d -p 8500:8500 --name=dev-consul consul
memcached
docker run -p 11211:11211 --name my-memcache -d memcached
docker run -p 11233:11211 --name my-memcache2 -d memcached:1.4.29
docker run -p 11244:11211 --name my-memcache3 -d memcached:1.4.33 memcached -o lru_crawler -m 1024
postgres
docker run --name some-postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
clickhouse
启动
docker run -d --name clickhouseserver --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 -p 9004:9004 yandex/clickhouse-server
docker启动clickhouse-client
docker run -it --rm --link clickhouseserver:clickhouse-server yandex/clickhouse-client --host clickhouse-server
mangodb
docker run --name mongoDemo -itd -p 27017:27017 mongo
nacos
docker run --name nacos -d -p 8848:8848 ^
-e MODE=standalone ^
-e MYSQL_SERVICE_HOST=192.168.1.8 ^
-e MYSQL_SERVICE_DB_NAME=nacos_config ^
-e MYSQL_SERVICE_PORT=3306 ^
-e MYSQL_SERVICE_USER=root ^
-e MYSQL_SERVICE_PASSWORD=123456 ^
nacos/nacos-server
http://localhost:8848/nacos/#/configurationManagement?dataId=&group=&appName=&namespace=56dea55e-f314-418b-b139-6795f5f22849&pageSize=&pageNo=&namespaceShowName=db
redis
docker run --name redis -p 6379:6379 -d redis
redis-redisjson
docker run -p 6370:6379 --name redis-redisjson -d redislabs/rejson:latest
canal
docker run --restart=always --name core_productservice_canal \\
-e canal.instance.master.address=192.168.1.9:3306 \\
-e canal.instance.dbUsername=root \\
-e canal.instance.dbPassword=123456 \\
-e canal.instance.defaultDatabaseName=Test \\
-e canal.instance.filter.regex=.*\\\\\\..*
-p 8001:11111
-d canal/canal-server
容器扩展
有些容器,我们想进去做一些事情,但是有些命令会不存在,我们就可以这样做
vim ipconfig
apt-get update
apt-get install vim -y
apt-get install net-tools -y
apt-get install inetutils-ping -y
apt-get install sudo
防火墙
apt-get install ufw
apt-get autoremove ufw
关闭ubuntu的防火墙
ufw disable
开启防火墙
ufw enable
ubuntu开启telnet服务
sudo apt-get install telnet
sudo apt-get install openbsd-inetd -y
sudo apt-get install telnetd -y
sudo /etc/init.d/openbsd-inetd restart
# 查看 telnet服务是否开启
sudo netstat -a | grep telnet
telnet 127.0.0.1 22
ssh
apt-get remove openssh-server
apt-get install openssh-server -y
vim /etc/ssh/sshd_config
Port 2222 #设置ssh的端口号, 由于22在windows中有别的用处, 尽量不修改系统的端口号
PermitRootLogin yes # 可以root远程登录
PasswordAuthentication yes # 密码验证登录
重启服务
sudo service ssh --full-restart
在其他机子上打开xshell 或者linux , 输入以下命令:
ssh user@ip #eg: ssh fzl@128.96.8.113
连接成功!开始愉快的工作吧
ssh root@172.22.199.141
总结
docker 大部分服务都是linux 为基础容器的,所以,必备的基础linux知识是不可或缺的,也给一些想玩linux,但是,沒有环境的人一个不错的机会。
当然,还可以自己创建DockerFile 来制造镜像文件,生成自己的镜像。
也可以把镜像传到公共镜像库,或者私人镜像库,也可以自己用docker做个私人镜像库,把自己的镜像存起来。
总的来说,挺好玩的。
阅
一键三连呦!,感谢大佬的支持,您的支持就是我的动力!
以上是关于Docker 系列之 DockerDesktop 常用第三方应用安装以及命令解释的主要内容,如果未能解决你的问题,请参考以下文章
docker-desktop for windows修改docker镜像文件存放位置