docker常用命令整理

文章目录

docker 常用操作命令

一、镜像类操作

1.构建镜像

bash 复制代码
docker build -t xxl-job-admin:1.0 -f /home/xxl-job-admin/Dockerfile  .

-t : 镜像名称和版本

-f : 指定Dockerfile所在路径

2.从容器创建镜像

bash 复制代码
docker commit 容器ID  xxl-job-admin:2.0

3.查看镜像列表

bash 复制代码
docker images

4.删除镜像

bash 复制代码
docker rmi xxl-job-admin:1.0

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

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

bash 复制代码
docker pull xxl-job-admin:1.0

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

bash 复制代码
docker push xxl-job-admin:1.0

7. 将镜像导出

bash 复制代码
docker save -o xxl-job-admin.tar xxl-job-admin:1.0

8. 导入镜像

bash 复制代码
docker load -i xxl-job-admin.tar

9. 登录镜像仓库

bash 复制代码
docker login 仓库地址 -u 用户名 -p 密码

二、容器相关操作

1. 运行容器

bash 复制代码
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. 进入容器

bash 复制代码
docker exec -it xxl-job-admin bash 

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

3. 查看容器的运行状态

bash 复制代码
docker ps -a

4. 查看容器的日志

bash 复制代码
docker logs xxl-job-admin 

5. 查看容器信息

bash 复制代码
docker inspect xxl-job-admin 

6. 停止容器

bash 复制代码
docker stop xxl-job-admin 

7. 删除容器

bash 复制代码
docker rm xxl-job-admin 

8. 启动容器

bash 复制代码
docker start xxl-job-admin 

三、docker 网络操作

1.查看网络列表

bash 复制代码
docker network ls

2.删除网络

bash 复制代码
docker network rm xxl-job-network

3.查看网络详情

bash 复制代码
docker network inspect xxl-job-network

4.创建网络

bash 复制代码
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.容器使用指定网络

bash 复制代码
docker network connect xxl-job-network mysql

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

四、Docker Swarm操作命令

初始化Docker Swarm集群

bash 复制代码
docker swarm init --advertise-addr 192.168.0.122

打印出加入节点的命令

bash 复制代码
docker swarm join-token manager

加入docker swarm集群节点

bash 复制代码
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节点列表

bash 复制代码
docker node ls

创建服务

bash 复制代码
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: 指定环境变量

查看服务列表

bash 复制代码
docker service ls

查看服务状态

bash 复制代码
docker service ps xxl-job-admin

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

查看服务日志

bash 复制代码
docker service logs xxl-job-admin

删除服务

bash 复制代码
docker service rm xxl-job-admin

停止服务

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

bash 复制代码
docker service scale xxl-job-admin=0

或者采用其他方式如:

bash 复制代码
docker service update --replicas 0 xxl-job-admin

滚动升级

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

bash 复制代码
docker service update --image xxl-job-admin:2.0 xxl-job-admin

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

相关推荐
学传打活20 小时前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1689 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心11 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552717 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552717 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝19 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552719 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552719 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552722 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552722 天前
Java I/O核心操作实战
人工智能·1024程序员节