当前位置: 首页 > 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。

相关文章:

docker常用命令整理

文章目录 docker 常用操作命令一、镜像类操作1.构建镜像2.从容器创建镜像3.查看镜像列表4.删除镜像5. 从远程镜像仓库拉取镜像6. 将镜像推送到镜像仓库中7. 将镜像导出8. 导入镜像9. 登录镜像仓库 二、容器相关操作1. 运行容器2. 进入容器3. 查看容器的运行状态4. 查看容器的日…...

将CSDN博客转换为PDF的Python Web应用开发--Flask实战

文章目录 项目概述技术栈介绍 项目目录应用结构 功能实现单页博客转换示例: 专栏合集博客转换示例: PDF效果: 代码依赖文件requirements.txt:app.py:代码解释: /api/onepage.py:代码解释: /api/zhuanlan.py…...

AIGC学习笔记(3)——AI大模型开发工程师

文章目录 AI大模型开发工程师002 GPT大模型开发基础1 OpenAI账户注册2 OpenAI官网介绍3 OpenAI GPT费用计算4 OpenAI Key获取与配置5 OpenAI 大模型总览6 代码演示安装依赖导入依赖初始化客户端执行代码遇到的问题 AI大模型开发工程师 002 GPT大模型开发基础 1 OpenAI账户注册…...

Windows server 2003服务器的安装

Windows server 2003服务器的安装 安装前的准备: 1.镜像SN序列号 图1-1 Windows server 2003的安装包非常人性化 2.指定一个安装位置 图1-2 选择好安装位置 3.启动虚拟机打开安装向导 图1-3 打开VMware17安装向导 图1-4 给虚拟光驱插入光盘镜像 图1-5 输入SN并…...

HTML作业

作业 复现下面的图片 复现结果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><form action"#"method"get"enctype"text/plain"><…...

MYSQL-SQL-04-DCL(Data Control Language,数据控制语言)

DCL&#xff08;数据控制语言&#xff09; DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 一、管理用户 1、查询用户 在MySQL数据库管理系统中&#xff0c;mysql 是一个特殊的系统数据库名称&#xff0c;它并不…...

多线程进阶——线程池的实现

什么是池化技术 池化技术是一种资源管理策略&#xff0c;它通过重复利用已存在的资源来减少资源的消耗&#xff0c;从而提高系统的性能和效率。在计算机编程中&#xff0c;池化技术通常用于管理线程、连接、数据库连接等资源。 我们会将可能使用的资源预先创建好&#xff0c;…...

C++网络编程之C/S模型

C网络编程之C/S模型 引言 在网络编程中&#xff0c;C/S&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09;模型是一种最基本且广泛应用的架构模式。这种模型将应用程序分为两个部分&#xff1a;服务器&#xff08;Server&#xff09;和客户端&#xff08;Clien…...

目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细

目录 1.前言 2. 查看电脑状况 3. 安装所需软件 3.1 Anaconda3安装 3.2 Pycharm安装 4. 安装环境 4.1 安装cuda及cudnn 4.1.1 下载及安装cuda 4.1.2 cudnn安装 4.2 创建虚拟环境 4.3 安装GPU版本 4.3.1 安装pytorch&#xff08;GPU版&#xff09; 4.3.2 安装ultral…...

面试域——岗位职责以及工作流程

摘要 介绍互联网岗位的职责以及开发流程。在岗位职责方面&#xff0c;详细阐述了产品经理、前端开发工程师、后端开发工程师、测试工程师、运维工程师等的具体工作内容。产品经理负责需求收集、产品规划等&#xff1b;前端专注界面开发与交互&#xff1b;后端涉及系统架构与业…...

C#文件内容检索的功能

为了构建一个高效的文件内容检索系统&#xff0c;我们需要考虑更多的细节和实现策略。以下是对之前技术方案的扩展&#xff0c;以及一个更详细的C# demo示例&#xff0c;其中包含索引构建、多线程处理和文件监控的简化实现思路。 扩展后的技术方案 索引构建&#xff1a; 使用L…...

Redis-05 Redis发布订阅

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;是一种消息通信模式&#xff0c;允许客户端订阅消息频道&#xff0c;以便在发布者向频道发送消息时接收消息。这种模式非常适合实现消息队列、聊天应用、实时通知等功能。 #了解即可&#xff0c;用的很少...

【读书笔记·VLSI电路设计方法解密】问题27:什么是可制造性设计

尽管业界尚未达成共识,但“可制造性设计”这一术语大致描述了旨在提高产品良率的特定分析、预防、纠正和验证工作。这不同于后GDSII阶段的分辨率增强技术,如光学邻近效应校正(OPC)和相位移掩膜(PSM)。“可制造性设计”中的关键词是“设计”,意指在设计阶段(而非设计完成…...

数据结构:堆的应用

堆排序 假定有一组数据极多的数&#xff0c;让我们进行排序&#xff0c;那我们很容易想到一种经典的排序方法&#xff0c;冒泡排序&#xff0c;我们对冒泡排序的时间复杂度进行分析&#xff1a; 显然&#xff0c;冒泡排序的时间复杂度是O&#xff08;n^2&#xff09;,当数据量…...

Spring Boot 实现文件分片上传和下载

文章目录 一、原理分析1.1 文件分片1.2 断点续传和断点下载1.2 文件分片下载的 HTTP 参数 二、文件上传功能实现2.1 客户端(前端)2.2 服务端 三、文件下载功能实现3.1 客户端(前端)3.2 服务端 四、功能测试4.1 文件上传功能测试4.2 文件下载功能实现 参考资料 完整案例代码&…...

夹逼准则求数列极限(复习总结)

记住这两个准则&#xff0c;然后我们就开始看题目 因为是证明题&#xff0c;所以要放缩到什么值已经是确定的了。也就是放缩到0&#xff0c;然后很明显地可以看出前面已经有一个可以使得极限是0了&#xff0c;并且后面的值明显小于1&#xff0c;就是逐渐缩小的趋势&#xff0c;…...

【python】OpenCV—WaterShed Algorithm(1)

文章目录 1、功能描述2、代码实现3、完整代码4、效果展示5、涉及到的库函数5.1、cv2.pyrMeanShiftFiltering5.2、cv2.morphologyEx5.3、cv2.distanceTransform5.4、cv2.normalize5.5、cv2.watershed 6、参考 1、功能描述 基于分水岭算法对图片进行分割 分水岭分割算法&#x…...

查找与排序-插入排序

思考&#xff1a;在把待排序的元素插入已经有序的子序列中时&#xff0c;是不是一定要逐一比较&#xff1f;有没有改进方法&#xff1f; 在查找插入位置的时候可以采用折半&#xff08;二分&#xff09;搜索的办法。 一、折半插入排序 1.折半插入排序算法的基本思想 假设待…...

JAVA基础:多线程 (学习笔记)

多线程 一&#xff0c;什么是线程&#xff1f; 程序&#xff1a;为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码进程&#xff1a;程序的一次执行过程。 正在运行的一个程序&#xff0c;进程作为资源分配的单位&#xff0c;在内存中会为每个进程分配不同的…...

盲盒小程序/APP系统,市场发展下的新机遇

当下&#xff0c;年轻人热衷于各种潮玩商品&#xff0c;尤其是一盲盒为主的潮流玩具风靡市场&#xff0c;吸引了众多入局者。随着互联网信息技术的快速发展&#xff0c;各类线上盲盒小程序又进一步推动了盲盒市场的发展&#xff0c;成为年轻人拆盲盒的主要阵地。在盲盒经济中&a…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...