镜像相关
可以去 docker 官方镜像 寻找自己需要的镜像
本文用nginx镜像来进行演示
拉取镜像
docker pull nginx:1.25

查询所有镜像
docker images

保存镜像
命令格式
docker save -o [保存的目标文件名称] [镜像名称]
docker save -o /home/apps/nginx-docker.tar nginx:1.25
加载镜像
命令格式
docker load [OPTIONS]
docker load -i /home/apps/nginx-docker.tar
删除镜像
docker rmi nginx:1.25
容器相关
运行容器
docker run --name mynginx -p 80:80 -d nginx:1.25
参数介绍
- docker run :创建并运行一个容器
- –name : 给容器起一个名字,比如叫做 mynginx
- -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
- -d:后台运行容器
- nginx:镜像名称,例如nginx:1.25

查询容器详情
docker inspect mynginx
查询容器状态
docker ps
docker ps -a
docker ps 只能查询正在运行的容器,docker ps -a可以查询所有的容器(包括已经停止的容器)
暂停容器
docker pause mynginx
让暂停的容器开始运行
docker unpause mynginx
暂停和停止容器运行的区别是,暂停容器运行但是保留该进程,停止则不保留
停止容器运行
docker stop mynginx
开始容器运行
docker start mynginx
登录容器
docker exec -it mynginx bash
命令解读:
docker exec :进入容器内部,执行一个命令
-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
mynginx :要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
数据卷
创建数据卷
创建一个名字为html的数据卷
docker volume create html
查询单个数据卷
docker volume inspect html
执行的结果
[root@mxm-dev sbin]# docker volume inspect html
[
{
"CreatedAt": "2024-02-17T11:12:50+08:00", #创建时间
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/html/_data", #挂载点
"Name": "html", # 名字
"Options": null,
"Scope": "local"
}
]
查询全部数据卷
docker volume ls
删除所有未使用的数据卷
docker volume prune
删除制定的数据卷
docker volume rm html
挂载数据卷
在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器内目录
方式一: 通过数据卷名字挂载
docker run --name mynginx -v html:/usr/share/nginx/html -p 80:80 -d nginx:1.25
方式二:通过指定文件夹挂载
docker run --name mynginx -v /home/html:/usr/share/nginx/html:ro -p 80:80 -d nginx:1.25
:ro 可以加,可以不加,加上的话表示只能在容器外部修改,不能在容器内部修改
注意,这种方式会直接覆盖掉容器内部原有的文件