docker常用命令整理

docker 常用操作命令

一、镜像类操作

1.构建镜像

docker build -t xxl-job-admin:1.0 -f /home/xxl-job-admin/Dockerfile  .

-t : 镜像名称和版本
-f : 指定Dockerfile所在路径

2.从容器创建镜像

docker commit 容器ID  xxl-job-admin:2.0

3.查看镜像列表

docker images

4.删除镜像

docker rmi xxl-job-admin:1.0

docker rmi + 镜像名称或者镜像ID就可以删除镜像。

5. 从远程镜像仓库拉取镜像

docker pull xxl-job-admin:1.0

6. 将镜像推送到镜像仓库中

docker push xxl-job-admin:1.0

7. 将镜像导出

docker save -o xxl-job-admin.tar xxl-job-admin:1.0

8. 导入镜像

docker load -i xxl-job-admin.tar

9. 登录镜像仓库

docker login 仓库地址 -u 用户名 -p 密码

二、容器相关操作

1. 运行容器

docker run -d --restart=always --privileges=true --network xxl-job-network --name xxl-job-admin -v /data/logs:/data/logs/xxl-job -p 8080:8080 -e DB_HOST 192.168.0.1 -e DB_PORT 3306 xxl-job-admin:1.0 
  • -d: 以daemon模式后台启动
  • –restart=always: 如果容器退出了自动拉起运行
  • –privileges: 是否以特权模式运行
  • –network: 指定网络
  • –name: 容器名称
  • -v: 目录映射: 宿主机目录:容器内目录,以实现容器数据持久化。
  • -p: 端口映射: 宿主机端口:容器端口
  • -e: 环境变量

2. 进入容器

docker exec -it xxl-job-admin bash 

docker exec -it + 容器ID或者容器名称

3. 查看容器的运行状态

docker ps -a

4. 查看容器的日志

docker logs xxl-job-admin 

5. 查看容器信息

docker inspect xxl-job-admin 

6. 停止容器

docker stop xxl-job-admin 

7. 删除容器

docker rm xxl-job-admin 

8. 启动容器

docker start xxl-job-admin 

三、docker 网络操作

1.查看网络列表

docker network ls

2.删除网络

docker network rm xxl-job-network

3.查看网络详情

docker network inspect xxl-job-network

4.创建网络

docker network create --driver overlay --attachable --subnet 192.168.2.0/24 --gateway 192.168.2.0 xxl-job-network
  • –driver: 网络类型
  • –attachable: 是否可关联,配置了该参数后,独立容器可以使用该网络。
  • –subnet: 子网区域,配置了子网区段,使用该网络的容器的ip就分布在该网段。
  • –gateway: 网关

5.容器使用指定网络

docker network connect xxl-job-network mysql

将mysql容器连接到网络xxl-job-network, 如果mysql是独立容器,在创建xxl-job-network网络时要添加–attachable 参数,否则网络不允许加入。

四、Docker Swarm操作命令

初始化Docker Swarm集群

docker swarm init --advertise-addr 192.168.0.122

打印出加入节点的命令

docker swarm join-token manager

加入docker swarm集群节点

docker swarm join --token SWMTKN-1-asdfasdlsdflasjfielkjfasdjfalsdfjljal;dfkjasdldfja;sdfjk 192.168.0.122:2377

该命令来源于docker swarm init的打印信息,在管理节点上执行了docker init 命令后,会输出一个docker swarm join的命令,如果该命令忘记了,也可以在管理节点上执行docker swarm join-token manager命令,重新打印出该命令。

查看docker swarm节点列表

docker node ls

创建服务

docker service create --name xxl-job-admin --publish 8080:8080 --network xxl-job-network --replicas 2 --mount type=bind, source=/data/docker/xxl-job-admin/conf,destination=/data/software/xxl-job/conf --mount type=bind, source=/data/docker/xxl-job-admin/log, destination=/data/software/xxl-job/logs -e DB_HOST=192.168.0.110 -e DB_PASSWORD=123456 xxl-job-admin:1.0
  • –name: 服务名称
  • –publish: 端口映射
  • –network: 指定使用的网络
  • –replicas: 副本数量
  • –mount:挂载目录,将宿主机的目录挂载到容器中,source指定宿主机的目录,destination指定的是容器中的目录。
  • -e: 指定环境变量

查看服务列表

docker service ls

查看服务状态

docker service ps xxl-job-admin

查看服务xxl-job-admin的服务状态

查看服务日志

docker service logs xxl-job-admin

删除服务

docker service rm xxl-job-admin

停止服务

docker swarm没有停止服务的命令,可以通过将服务的副本数设置为0来停止该服务。

docker service scale xxl-job-admin=0

或者采用其他方式如:

docker service update --replicas 0 xxl-job-admin

滚动升级

如容器的镜像有变动,需要使用新的镜像进行升级,执行如下命令:

docker service update --image xxl-job-admin:2.0 xxl-job-admin

升级xxl-job-admin服务,使用新的镜像xxl-job-admin:2.0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值