镜像命令
1. 查看镜像
docker images
2. 删除镜像
docker rmi 镜像名称
3. 拉取镜像(没有指定版本的话默认是最新版本)
docker pull nginx:1.26
容器命令
1. 查看正在运行的容器
docker ps
2. 查看所有的容器的容器
docker ps -a
3. 停止容器
docker stop 容器ID
4.启动容器
docker strat 容器ID
5. 重启容器
docker restart 容器ID
6. 查看容器状态
docker stats 容器ID
7. 查看容器日志
docker logs 容器ID
8. 进入容器
docker exec -it mynginx /bin/bash
docker exec | 在运行中的容器内执行新命令 |
-it | 组合参数:-i (保持交互式输入) + -t (分配伪终端) |
mynginx | 目标容器的名称或ID(需替换为实际容器名) |
/bin/bash | 在容器内启动 Bash Shell(提供命令行交互环境) |
9. 删除容器
docker rm 容器ID
10. 强制删除容器
docker rm -f 容器ID
11. 后台运行容器且映射端口
docker run 镜像名称 -d --name mynginx -p 88:80 镜像名称
88为对外映射端口,80为容器内部端口
示例:docker run -d --name mynginx -p 88:80 docker.xuanyuan.me/library/nginx:1.26
进阶
将容器内default.conf 拷贝到本地的tmp目录下
docker cp 容器名称:/etc/nginx/conf.d/default.conf /tmp
目录挂载
将容器内/etc/nginx/conf.d/目录挂载到本地的/tmp/vgninx/conf.d/目录下
docker run -d --name vnginx -p 81:80 -v /tmp/vgninx/conf.d/:/etc/nginx/conf.d/ 镜像名称:v1
卷映射
docker run -d --name vnginx2 -p 99:80 -v vlonginx:/etc/nginx/ 镜像名称:v2
用于启动一个名为 vnginx
的容器,基于镜像 nginx68:latest
,并配置了端口映射和卷挂载
docker run -d --name vnginx -p 88:80 -v /tmp/nginx/html:/usr/share/nginx/html/ -v vnginx:/etc/nginx/ nginx68:latest
卷命令
查看Docker卷
docker volume ls
卷的详细信息
docker inspect 卷名
删除卷
docker rm 卷名
新建卷
docker volume create 卷名
删除容器后卷和挂载目录的数据都不会丢失!!!!!
保存镜像
1. 制作镜像
docker commit -m "update port 88" mynginx mynginx:v1
-
docker commit
:基于运行中的容器创建新镜像,保留所有文件系统修改(如安装的软件、配置变更等)。 -
-m "update port 88"
:添加提交说明,说明本次修改的内容(例如更新了端口 88 的配置)。 -
mynginx
:源容器的名称(或 ID)。 -
mynginx:v1
:新镜像的名称和标签(v1
表示版本 1)。
2. 将制作好的镜像保存为.tar格式
docker save -o mynginx.tar mynginx:v1
3. 加载保存的镜像
docker load -i mynginx
docker load
用于从由docker save
生成的.tar
文件中恢复镜像(包括所有层和元数据)-i
(或--input
)指定输入文件的路径,例如mynginx.tar
4. 之后再查看系统内的镜像就会发现已经有打包好的这个镜像了
docker images