🐳 一、镜像(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 项目或和数据库通信的容器,也可以告诉我,我可以给出更完整的命令组合和解释。是否需要这样的实战案例?