千家信息网

Docker 常用命令

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、Docker镜像操作基础命令[root@localhost ~]# docker search 镜像名称 //搜索镜像(在docker hub官网上进行查找)[root@localhost ~]#
千家信息网最后更新 2026年10月31日Docker 常用命令

一、Docker镜像操作基础命令

[root@localhost ~]# docker search 镜像名称 //搜索镜像(在docker hub官网上进行查找)
[root@localhost ~]# docker pull 镜像名称 //下载镜像(如果不指定镜像标签默认下载最新版的镜像)
[root@localhost ~]# docker push 仓库名称/仓库账号/镜像名称 //上传镜像
[root@localhost ~]# docker images //查询本地下载的所有镜像
[root@localhost ~]# docker images 镜像名称 //查询指定的镜像
[root@localhost ~]# docker inspect 容器名称或容器ID //查询镜像的详细信息
[root@localhost ~]# docker tag 原本的镜像名称及标签 生成以后的镜像名称及标签 //为本地镜像起一个新的名称、标签(源镜像还存在)
[root@localhost ~]# docker rmi 镜像名或镜像ID //删除本地镜像
[root@localhost ~]# docker rmi 镜像名或镜像ID //强制删除本地镜像
//注意:强制的这种方式适用于有容器正在使用这个镜像
//这种方式容器如果在运行时也是无法删除的,容器停止后删除的话,容器依然可以使用
[root@localhost ~]# docker save > 通过镜像生成的文件 镜像名称
[root@localhost ~]# docker save -o 通过镜像生成的文件 镜像名称 //通过镜像生成新的镜像文件
[root@localhost ~]# docker load < 镜像文件
[root@localhost ~]# docker load --i 镜像文件 //将本地的镜像文件生成为镜像
//建议:">"和"<"号成对使用、"i"和"o"成对使用
[root@localhost ~]# docker history 镜像名称
//查看生成镜像执行的历史命令

二、Docker容器操作基础命令

[root@localhost ~]# docker create -it --name 容器名称 使用的镜像 /bin/bash
//使用指定的镜像生成一个容器,并指定一个shell
常用选项解释如下:
-i:采用交互式的方式;
-t:分配一个伪终端;
-d:后台运行;
--name:指定容器名称
--restart=always:始终保持容器运行(随着docker的启动而启动)
[root@localhost ~]# docker ps //查询本机正在运行的容器
[root@localhost ~]# docker ps -a //查询本机所有的容器,不管容器是否在运行
[root@localhost ~]# docker start 容器名称或容器ID //启动容器
[root@localhost ~]# docker stop 容器名称或容器ID //停止容器
[root@localhost ~]# docker restart 容器名称或容器ID //重新启动容器
[root@localhost ~]# docker exec -it 容器名称或容器ID /bin/bash //进入容器并分配一个可用的shell
[root@localhost ~]# docker attach dhcp //也是进入容器
//如果是attach进入容器,使用exit退出的话这个容器也会关闭。
//使用ctrl+p ctrl+q退出容器,并不会关闭这个容器,会保持容器的运行状态。
[root@localhost ~]# docker cp docker宿主机文件 docker容器的目录 //从本地上传文件到容器中
[root@localhost ~]# docker cp docker容器名称:文件 docker宿主机文件 //将容器中的文件下载到本地
[root@localhost ~]# docker commit 容器名称 镜像名称及标签
//通过容器生成镜像
[root@localhost ~]# docker run -itd --name registry --restart=always -p 5000:5000 -v /registry:/var/lib/registry registry:2
//-p:端口映射(前面是宿主机端口:后面是容器暴露的端口)
//-v:挂载目录(前面是宿主机的目录:后面的是容器的目录)自动创建宿主机的目录
[root@localhost ~]# docker run -itd --name nginx 192.168.1.1:5000/centos:nginx nginx -g "daemon off;"
//创建容器,不进入容器即开启容器中的服务
[root@localhost ~]# docker logs 容器名称会容器ID
//查看容器的日志,可以在后面加"-f"选项,动态输出
//如果没有内容输出则表示容器正常没有错误
[root@localhost ~]# docker inspect 容器名称
//查看容器的详细信息
exec和attach两者的区别:
使用exec的方式进入容器,使用"exit"的方式退出容器后容器并不会停止;
使用attach的方式进入容器,使用"exit"的方式退出容器后容器便会停止;可以使用Ctrl + p 或者 Ctrl + q 组合键的方式退出容器后,并不会关闭这个容器;
exec方式:进入容器是会产生新的进程;
attach方式:进入容器不会产生新的进程;
以下方式生产环境不建议使用:
[root@localhost ~]# docker ps -a -q | xargs docker start //启动本机所有容器
[root@localhost ~]# docker ps -a -q | xargs docker stop //停止本机所有容器
[root@localhost ~]# docker ps -a -q | xargs docker restart //重新启动本机所有容器

[root@localhost ~]# docker pa -a -q | xargs docker rm -f //删除所有容器,相当于"rm -rf /*"
[root@localhost ~]# docker rm 容器名称或容器ID //删除容器(容器是停止的状态)
[root@localhost ~]# docker rm 容器名称或容器ID -f //强制删除容器(容器是运行的状态)

三、docker Swarm群集常用命令

[root@node02 ~]# docker swarm leave
//那个节点想推出swarm群集,就在那台节点上执行这条命令
//节点自动退出swarm群集(相当于辞职)
[root@node01 ~]# docker node rm 节点名称
//由manager主动删除节点(相当于开除)
[root@node01 ~]# docker node promote 节点名称
//将节点升级
[root@node01 ~]# docker node demote 节点名称
//将节点降级
[root@node01 ~]# docker node ls
//查看swarm群集的信息(只可以在manager角色的主机上查看)
[root@node01 ~]# docker node update --availability drain 节点名称
//调整节点不参加工作
[root@node01 ~]# docker swarm join-token worker
//查看加入swarm群集的令牌(可以是worker也可以是manager)
[root@node01 ~]# docker service scale web=4
//扩容、收缩swarn群集servie的数量(取决与群集原本的数量)
//比原本群集数量多,就是扩容,反之、收缩
[root@node01 ~]# docker service ls
//查看创建的service
[root@node01 ~]# docker service ps service的名称
//查看创建的service运行在那些容器上
[root@node01 ~]# docker service create --replicas 6 --name web -p 80:80 nginx
//指定运行的service副本数量
[root@node01 ~]# docker service create --replicas 3 --constraint node.hostname==node03 --name test nginx
//指定node节点,创建名为test的容器
[root@node01 ~]# docker node update --label-add mem=max node02
//以键值对的方式给docker02主机打上标签"mem=max",等号两边的内容是可以自定义的
[root@node01 ~]# docker service create --name test1 --replicas 3 --constraint 'node.labels.mem==max' nginx
//基于nginx镜像在标签为"mem==max"的主机上运行3个名为test1的服务
[root@node01 ~]# docker node inspect node02
//标签相关的信息,在Spec{ }中有显示

容器 镜像 名称 方式 节点 文件 运行 标签 生成 命令 宿主 宿主机 目录 本机 查询 信息 数量 主机 原本 状态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融 科技 互联网金融与金融科技 科技与互联网发展 互联网 的科技创新 万易互联网科技有限公司 南京欣网互联网科技 时间互联网络科技 佩信高科技互联网 成都玖崟互联网科技有限公司乐商圈怎么样 来此购互联网科技有限公司 互联网和黑科技的看法 昊天互联网科技有限公司 用友工业互联网科技发展 工业互联网科技创业 广州智享互联网科技 保山互联网科技靠谱吗 杭州融税互联网科技有限公司 陕西彩京云互联网科技有限公司 保山浩联互联网科技有限公司 东风日产互联网科技公司叫什么 互联网科技园 互联网科技公司经营范围 互联网科技上市公司 银川新华互联网科技职业技术培训学校图片 湖北码尼互联网科技有限公司电话 苏州五指互联网络科技有限 速维有品互联网信息科技(苏州)有限公司 开一家科技互联网公司需要多少钱 合肥互联网科技公司公章图片 互联网科技企业文化
0