docker常用命令

🐳 一、镜像(Image)相关命令** #

1.1 搜索镜像

docker search nginx
  • 在 Docker Hub 上搜索 nginx 镜像

1.2 拉取镜像 #

docker pull ubuntu:20.04
  • 下载指定标签的镜像,如果不指定版本默认是 latest

1.3 列出本地镜像 #

docker images

1.4 删除镜像 #

docker rmi 镜像ID或名字

1.5 给镜像打标签(重命名) #

docker tag ubuntu:20.04 myubuntu:v1

🧱 二、容器(Container)相关命令 #

2.1 创建并启动容器(前台) #

docker run -it ubuntu /bin/bash
  • -i:交互模式
  • -t:分配伪终端
  • ubuntu:使用的镜像
  • /bin/bash:启动 bash

2.2 创建并后台运行容器 #

docker run -d --name my-nginx nginx

2.3 列出运行中的容器 #

docker ps

2.4 列出所有容器(包括已停止) #

docker ps -a

2.5 停止容器 #

docker stop 容器ID或名字

2.6 启动容器 #

docker start 容器ID或名字

2.7 重启容器 #

docker restart 容器ID或名字

2.8 删除容器 #

docker rm 容器ID或名字

2.9 查看容器日志 #

docker logs -f 容器ID或名字

2.10 查看容器资源使用 #

docker stats

2.11 进入正在运行的容器 #

docker exec -it 容器ID /bin/bash

🌐 三、网络相关命令 #

3.1 创建网络 #

docker network create my-network

3.2 查看网络 #

docker network ls

3.3 查看网络详细信息 #

docker network inspect my-network

3.4 运行容器时连接网络 #

docker run -d --network=my-network nginx

3.5 指定端口映射 #

docker run -d -p 8080:80 nginx
  • -p 外部端口:容器端口

📁 四、数据卷(Volume)和挂载 #

4.1 创建数据卷 #

docker volume create my-volume

4.2 查看数据卷 #

docker volume ls

4.3 挂载本地目录 #

docker run -v /host/dir:/container/dir -it ubuntu

4.4 挂载 volume #

docker run -v my-volume:/data -it ubuntu

📤 五、容器文件拷贝 #

5.1 拷贝容器内文件到主机 #

docker cp 容器ID:/path/in/container /host/path

5.2 拷贝主机文件到容器 #

docker cp /host/path 容器ID:/path/in/container

📦 六、导出导入镜像和容器 #

6.1 导出容器为 tar 文件 #

docker export 容器ID > container.tar

**6.2 导入容器 tar 文件为镜像 #

1、从本地 tar 文件导入镜像

docker import mycontainer.tar mynewimage:latest

这将从 mycontainer.tar 文件导入镜像,并命名为 mynewimage:latest。

2、从 URL 导入镜像

docker import http://example.com/mycontainer.tar mynewimage:latest

这将从指定的 URL 导入镜像,并命名为 mynewimage:latest。

3、从标准输入导入镜像

cat mycontainer.tar | docker import - mynewimage:latest

这将通过管道从标准输入读取 tar 文件并导入镜像。

4、在导入过程中应用变更

docker import -c "ENV LANG=en_US.UTF-8" -c "CMD /bin/bash" mycontainer.tar mynewimage:latest

这将从 mycontainer.tar 导入镜像,并在过程中设置环境变量 LANG 和命令 CMD。

6.3 保存镜像为 tar 文件 #

docker save -o ubuntu.tar ubuntu:20.04

6.4 从 tar 文件加载镜像 #

docker load -i ubuntu.tar

🛠 七、Dockerfile 构建镜像 #

7.1 构建镜像 #

docker build -t myapp:v1 .
  • 在当前目录下查找 Dockerfile

🚀 八、常用运行参数组合示例 #

docker run -d -p 8080:80 \
    --name web-server \
    -v /home/user/www:/usr/share/nginx/html \
    --network=my-network \
    nginx
  • 后台运行
  • 映射 8080 端口
  • 使用 volume 挂载网页内容
  • 连接到自定义网络

📋 九、其他有用命令 #

9.1 查看容器详细信息 #

docker inspect 容器ID或镜像ID

9.2 查看容器中的进程 #

docker top 容器ID

9.3 清理未使用的镜像、容器、网络等 #

docker system prune

如果你有具体的使用场景,比如想要构建一个 Web 项目或和数据库通信的容器,也可以告诉我,我可以给出更完整的命令组合和解释。是否需要这样的实战案例?