Docker命令
约 1413 字大约 5 分钟
2025-02-28
镜像命令
- 镜像名称一般分两部分组成[tag]。
- 在没有指定tag时,默认是latest,代表最新版本的镜像
docker images
:查看本地镜像列表docker pull
:拉取镜像docker rmi
:删除镜像docker tag
:给镜像打标签docker save
:保存镜像docker load
:加载镜像docker build
:构建镜像
案例:拉取nginx镜像
docker pull nginx
如果不指定镜像名称,则默认拉取latest版本的镜像。
案例:删除镜像
docker rmi nginx
如果有版本号,则删除指定版本的镜像。 如果镜像正在运行,则无法删除。
案例:给镜像打标签
docker tag nginx:latest my-nginx:v1.0
案例:保存镜像
docker save -o nginx.tar nginx:latest
案例:加载镜像
docker load -i nginx.tar
案例:构建镜像
docker build -t my-nginx:v1.0 .
docker build
命令的-t
参数指定镜像的名称和标签,.
表示当前目录。docker build
命令的.
表示Dockerfile文件所在目录。docker build
命令的-t
参数可以指定多个镜像名称和标签,多个镜像之间用空格隔开。
容器命令
- 容器名称一般分两部分组成[id]。
- 在没有指定name时,默认是随机生成的。
docker run
:运行容器docker ps
:查看容器列表docker start
:启动容器docker stop
:停止容器docker restart
:重启容器docker rm
:删除容器docker logs
:查看容器日志docker exec
:进入容器
案例:运行nginx容器
docker run -d -p 80:80 --name my-nginx nginx
dockerr run命令的参数说明:
docker run
命令的-d
参数表示后台运行容器。docker run
命令的-p
参数表示将容器的80端口映射到主机的80端口。如:如:-p 81:80
表示将容器的80端口映射到主机的81端口。docker run
命令的--name
参数表示给容器指定名称。如果不指定名称,则默认随机生成名称。docker run
命令的nginx
参数表示启动的镜像名称。必须指定镜像名称,否则会报错。docker run
命令的-v
参数表示将主机的目录挂载到容器的目录。如:-v /data/my-data:/usr/share/nginx/html
表示将主机的/data/my-data
目录挂载到容器的/usr/share/nginx/html
目录。docker run
命令的-e
参数表示设置环境变量。docker run
命令的-it
参数表示进入交互模式。docker run
命令的--network
参数表示指定容器的网络模式。如--network=host
表示容器使用宿主机的网络。docker run
命令的--restart
参数表示设置容器的重启策略。如--restart=always
表示容器总是重启。
案例:查看容器列表
docker ps
dokcer ps命令的参数说明:
docker ps
命令 默认只显示运行中的容器。docker ps
命令的-a
参数表示显示所有容器,包括停止的容器。docker ps
命令的-q
参数表示只显示容器的ID。docker ps
命令的-f
参数表示根据条件过滤容器。
案例:启动容器
docker start my-nginx
案例:停止容器
docker stop my-nginx
案例:重启容器
docker restart my-nginx
案例:删除容器
docker rm my-nginx
docker rm命令的参数说明:
docker rm
命令的-f
参数表示强制删除容器。
案例:查看容器日志
docker logs my-nginx
案例:进入容器
docker exec -it my-nginx /bin/bash
docker exec
命令的-it
参数表示进入交互模式。docker exec
命令的my-nginx
参数表示容器名称。docker exec
命令的/bin/bash
参数表示进入容器的bash命令行。
数据卷命令
- 数据卷可以让容器之间共享数据,容器之间的数据修改会立即同步到所有容器。
docker volume create
:创建数据卷docker volume ls
:查看数据卷列表docker volume inspect
:查看数据卷详情docker volume rm
:删除数据卷docker run
:使用数据卷
案例:创建数据卷
docker volume create my-data
案例:查看数据卷列表
docker volume ls
案例:查看数据卷详情
docker volume inspect my-data
案例:删除数据卷
docker volume rm my-data
案例:使用数据卷
docker run -d -p 80:80 --name my-nginx -v my-data:/usr/share/nginx/html nginx
docker run
命令的-v
参数表示将主机的my-data
目录挂载到容器的/usr/share/nginx/html
目录。- 这样,主机的
my-data
目录中的内容会同步到容器的/usr/share/nginx/html
目录,容器的/usr/share/nginx/html
目录中的内容会同步到主机的my-data
目录。
其他命令
- 复制容器内容到主机
docker cp my-nginx:/usr/share/nginx/html/ /data/my-data/
- 导入/导出镜像
docker save -o my-nginx.tar my-nginx:v1.0
docker load -i my-nginx.tar
- 导入/导出容器
docker export -o my-nginx.tar my-nginx
docker import my-nginx.tar my-nginx:v1.0