Docker 常用命令详解(部分)

/ A-WEI / 17阅读 / 0评论/ 分类: Docker

一、镜像管理

1、拉取镜像

docker pull [registry地址/]命名空间/镜像名:tag

示例:docker pull docker.io/library/nginx:latest
  • docker.io:Registry地址(镜像仓库)

  • library:命名空间(作者/组织)

  • nginx:镜像名

  • latest:Tag版本号(建议明确指定版本)

2、镜像相关命令

# 列出本地镜像
sudo docker images

# 删除镜像
sudo docker rmi 镜像名或ID  # 例如:sudo docker rmi nginx

docker image prune -a -f
-a:删除所有未被任何容器引用的镜像(包括有标签但未使用的镜像)。
-f:跳过确认

二、容器操作

1、启动容器

sudo docker run nginx                           # 使用镜像创建并运行容器
-d                                              # 使用分离模式,使容器在后台运行
-p 80:80                                        # 端口映射,宿主机端口:容器内端口
-v /website/html:/usr/share/nginx/html          # 挂载卷,宿主机目录:容器内目录
-v nginx_html:/usr/share/nginx/html             # 命名卷(存储空间),卷的名字:容器内目录
--name my_nginx                                 # 给容器定义名字,在宿主机上唯一
-it                                             # 让控制台进入容器交互
--rm                                            # 当容器停止的时候删除容器
--restart always                                # 自动重启停止的容器
--restart unless-stopped                        # 自动重启非手动停止的容器

2、生命周期管理

# 查看容器
sudo docker ps          # 查看运行中容器
sudo docker ps -a       # 查看所有容器(含停止的)

# 操作容器
sudo docker start 容器名/ID
sudo docker stop 容器名/ID
sudo docker rm -f 容器名/ID  # 强制删除容器

三、数据卷管理

# 创建卷
sudo docker volume create nginx_html

# 查看卷详情
sudo docker volume inspect nginx_html  # 包含挂载路径(需root权限)

# 列出所有创建过的卷
sudo docker volume list

# 使用卷
sudo docker run -v nginx_html:/usr/share/nginx/html nginx

# 删除卷
sudo docker volume rm nginx_html
sudo docker volume prune -a  # 删除所有未使用的卷

四、环境变量与交互

1、设置环境变量

sudo docker run -e KEY=value 镜像名

示例:-e MONGO_INITDB_ROOT_USERNAME=admin

2、容器交互

# 执行命令
sudo docker exec 容器名/ID 命令

# 查看容器内的进程
sudo docker exec 容器名或ID ps -ef

# 进入容器终端
sudo docker exec -it 容器名/ID /bin/sh

五、平台适配

docker pull --platform=linux/amd64 nginx
支持架构:
linux/amd64  # x86_64
linux/arm64  # ARM 64位
linux/arm/v7 # ARM 32位 v7

六、端口与日志

1、端口映射

-p 8080:80  # 宿主机8080映射容器80端口

2、查看日志

sudo docker logs 容器名/ID
sudo docker logs -f 容器名/ID  # 实时滚动显示