Docker常用命令!!!

一、docker基础命令

1、启动docker

复制代码
systemctl start docker

2、关闭docker

复制代码
systemctl stop docker

3、重启docker

复制代码
systemctl restart docker

4、docker设置随服务启动而自启动

复制代码
systemctl enable docker

5、查看docker 运行状态

复制代码
systemctl status docker

6、查看docker 版本号信息

复制代码
docker version

docker info

二、镜像命令

1、查看镜像

复制代码
docker images

2、拉取镜像

复制代码
docker pull 镜像名称
docker pull 镜像名称:tag

3、删除镜像------当前镜像没有被任何容器使用才可以删除

①删除一个 (-f 强制删除)

复制代码
docker rmi -f 镜像名/镜像ID

②删除多个 其镜像ID或镜像用用空格隔开即可

复制代码
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

③删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID

复制代码
docker rmi -f $(docker images -aq)

三、保存镜像

复制代码
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

docker save tomcat -o /myimg.tar

四、加载镜像

复制代码
docker load -i 镜像保存文件位置

五、容器命令

1、查看正在运行的容器列表

复制代码
docker ps

2、查看所有的容器列表

复制代码
docker ps -a

3、运行容器参数含义

-it 表示 与容器进行交互式启动

-d 表示可后台运行容器 (守护式运行)

--name 给要运行的容器 起的名字

/bin/bash 交互路径

复制代码
docker run -itd --name nginx001 nginx /bin/bash

4、停止容器

复制代码
docker stop 容器名/容器ID

5、删除容器

复制代码
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)

六、容器端口与服务器端口映射

1、规则

复制代码
-p 宿主机端口:容器端口   (注意是小写的p)
-P 宿主机随机端口:容器端口  (注意是大写P) 

2、使用

复制代码
docker run -d --name nginx001 -p 3999:80 nginx     //小p
    
docker run -d --name nginx002 -P nginx             //大P

3、mysql的使用

复制代码
docker run -itd --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

4、效果展示

七、进入容器

1、进入容器

复制代码
docker exec -it 容器名/容器ID /bin/bash

2、进入方式二

复制代码
docker run -itd --name nginx001 nginx /bin/bash

3、区别:通过run进入是开启一个新的容器进入,通过exec是进入当前已存在的容器内

八、退出容器

1、退出容器

复制代码
exit

九、停止容器

复制代码
docker stop 容器id/容器名

十、重启容器

复制代码
docker restart 容器id/容器名

十一、启动容器

复制代码
docker start 容器id/容器名

十二、杀死容器

复制代码
docker kill 容器id/容器名

十三、容器文件拷贝

1、从主机上拷贝文件到容器内(保证你所属目录中有1.txt这个文件)

复制代码
docker cp 1.txt 容器ID/容器名:1.txt

docker cp 1.txt nginx001:1.txt

2、从容器里面拷贝文件/目录到本地一个路径

复制代码
docker cp 容器ID/容器名:1.txt 本机目录

docker cp nginx001:1.txt /opt/2.txt

十四、查看容器日志

1、查看(--tail可以省略)

复制代码
docker logs -f --tail=查看末尾多少行 容器ID

十五、容器自动重启

1、使用docker run命令时 添加参数--restart=always 便表示,该容器随docker服务启动而自动启动

复制代码
docker run -d -p 8888:80 --restart=always --name nginx002 nginx

服务器重启后依旧运行:

十六、数据挂载

1、命令 (挂载后宿主机和容器内的文件是同步的)

复制代码
-v 宿主机文件存储位置:容器内文件位置

docker run -d -v /opt/wms-web/:/usr/share/nginx/html/ --restart=always --name nginx003 -p 8989:80 nginx

十七、自己提交一个镜像

1、我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个新的镜像,这时候我们就需要使用 commit 命令来构建一个新的镜像

复制代码
docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag

2、查看修改后端镜像

复制代码
docker images

十八、环境变量设置

1、设置

复制代码
docker run -d -e name=Tom nginx

2、查看设置的环境变量(进入你设置的容器中)

复制代码
 docker exec -it 容器ID /bin/bash

env

十九、容器关闭,自动删除容器

1、在Docker中, --rm 标志用于在容器停止后自动删除容器。当使用该标志运行容器时,容器停止运行后会立即被删除,释放相关的资源。这对于临时性的容器和一次性任务非常有用,可以避免手动删除容器的麻烦。

复制代码
docker run -itd --rm --name 容器名/容器ID nginx

docker run -itd --rm --name nginx001 nginx

2、结果展示

复制代码
docker stop 容器ID/容器名

docker stop 82

二十、--network=host

在Docker中, --network 标志用于指定容器连接的网络模式。以下是一些常见的网络模式及其作用:

  1. bridge (默认模式):在桥接网络中,每个容器都分配了一个IP地址,并且可以通过ip相互访问。这是最常用的网络模式,适用于大多数应用程序。

  2. host :在主机网络模式下,容器与主机共享网络命名空间,即容器使用主机的网络栈。这使得容器可以直接使用主机的网络接口,无需进行端口映射。

  3. none :在无网络模式下,容器不会连接到任何网络。这意味着容器无法通过网络与其他容器或外部进行通信。这种模式适用于某些安全性要求较高的容器。

  4. container:<name|id> :在容器网络模式下,容器与另一个指定容器共享网络命名空间。这意味着两个容器可以通过本地主机进行通信,就像它们在同一主机上一样。

这些网络模式可以根据具体的应用场景和需求进行选择和配置。

默认:是第一种模式,可以开多个

复制代码
docker run --rm  -d   --name nginx002 -p 3306:80 nginx

docker run --rm  -d   --name nginx002 -p 3307:80 nginx

设置第二种模式,只能开一个(没有网络配置,使用主机的配置)

复制代码
docker run --rm  -d  --network=host  --name nginx001 nginx
相关推荐
容器魔方2 分钟前
开源之夏2025 | Karmada 社区中选学生名单公布!
云原生·容器·云计算
匆匆那年96710 分钟前
Docker容器中安装MongoDB,导入数据
运维·docker·容器
望获linux15 分钟前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
万米商云1 小时前
企业物资集采平台解决方案:跨地域、多仓库、百部门——大型企业如何用一套系统管好百万级物资?
大数据·运维·人工智能
i小溪1 小时前
在使用 Docker 时,如果容器挂载的数据目录(如 `/var/moments`)位于数据盘,只要服务没有读写,数据盘是否就不会被唤醒?
人工智能·docker
挑战者6668881 小时前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
网硕互联的小客服3 小时前
服务器经常出现蓝屏是什么原因导致的?如何排查和修复?
运维·服务器·stm32·单片机·网络安全
喜欢吃豆3 小时前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
海外空间恒创科技3 小时前
恒创科技:香港站群服务器做seo站群优化效果如何
运维·服务器·科技
搬码临时工3 小时前
内网服务器怎么设置公网远程访问? windows桌面连接和Linux自带SSH外网异地跨网用完整步骤教程
运维·服务器·ssh