当前位置: 首页 > news >正文

docker常用命令整理

文章目录

  • docker 常用操作命令
    • 一、镜像类操作
      • 1.构建镜像
      • 2.从容器创建镜像
      • 3.查看镜像列表
      • 4.删除镜像
      • 5. 从远程镜像仓库拉取镜像
      • 6. 将镜像推送到镜像仓库中
      • 7. 将镜像导出
      • 8. 导入镜像
      • 9. 登录镜像仓库
    • 二、容器相关操作
      • 1. 运行容器
      • 2. 进入容器
      • 3. 查看容器的运行状态
      • 4. 查看容器的日志
      • 5. 查看容器信息
      • 6. 停止容器
      • 7. 删除容器
      • 8. 启动容器
    • 三、docker 网络操作
      • 1.查看网络列表
      • 2.删除网络
      • 3.查看网络详情
      • 4.创建网络
      • 5.容器使用指定网络
    • 四、Docker Swarm操作命令
      • 初始化Docker Swarm集群
      • 打印出加入节点的命令
      • 加入docker swarm集群节点
      • 查看docker swarm节点列表
      • 创建服务
      • 查看服务列表
      • 查看服务状态
      • 查看服务日志
      • 删除服务
      • 停止服务
      • 滚动升级

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。

http://www.lryc.cn/news/470595.html

相关文章:

  • 将CSDN博客转换为PDF的Python Web应用开发--Flask实战
  • AIGC学习笔记(3)——AI大模型开发工程师
  • Windows server 2003服务器的安装
  • HTML作业
  • MYSQL-SQL-04-DCL(Data Control Language,数据控制语言)
  • 多线程进阶——线程池的实现
  • C++网络编程之C/S模型
  • 目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细
  • 面试域——岗位职责以及工作流程
  • C#文件内容检索的功能
  • Redis-05 Redis发布订阅
  • 【读书笔记·VLSI电路设计方法解密】问题27:什么是可制造性设计
  • 数据结构:堆的应用
  • Spring Boot 实现文件分片上传和下载
  • 夹逼准则求数列极限(复习总结)
  • 【python】OpenCV—WaterShed Algorithm(1)
  • 查找与排序-插入排序
  • JAVA基础:多线程 (学习笔记)
  • 盲盒小程序/APP系统,市场发展下的新机遇
  • Unity3D LayoutGroup组件详解
  • [NeetCode 150] Foreign Dictionary
  • 小新学习K8s第一天之K8s基础概念
  • 如何用终端批量修改一个文件夹里面所有图片的后缀名?
  • 关于AI网络架构的文章
  • 【ChatGPT】在多轮对话中引导 ChatGPT 保持一致性
  • 【Chapter 7】因果推断中的机器学习:从T-学习器到双重稳健估计
  • vim的使用方法
  • OPPO携手比亚迪共同探索手机与汽车互融新时代
  • Apache Linkis:重新定义计算中间件
  • go gorm简单使用方法