Docker 是一款流行的容器化平台,以下是一些 Docker 的常用命令及其详细解释和示例:
一、基础命令
搜索镜像:
docker search [选项] 镜像名 示例:docker search nginx
拉取镜像:
docker pull [选项] 镜像名[:标签] 示例:docker pull nginx:latest 或者指定平台:docker pull --platform linux/amd64 nginx:latest
查看本地镜像:
docker images [选项] 示例:docker images
运行容器:
docker run [选项] 镜像名[:标签] [命令] 示例:docker run -d --name webserver -p 8080:80 nginx `-d` 表示后台运行,`--name` 设置容器名字,`-p` 映射端口。
列出运行中的容器:
docker ps [选项] 示例:docker ps
进入容器内部:
docker exec -it [容器ID或名字] [命令] 示例:docker exec -it webserver /bin/bash
停止容器:
docker stop [容器ID或名字] 示例:docker stop webserver
删除容器:
docker rm [容器ID或名字] 示例:docker rm webserver
删除镜像:
docker rmi [选项] 镜像名[:标签]或ID 示例:docker rmi nginx:latest
保存和加载镜像:
- 保存镜像为tar归档文件:
docker save -o my_image.tar [镜像名[:标签]] 示例:docker save -o nginx.tar nginx:latest
从tar归档文件加载镜像:docker load -i my_image.tar
二、更高级命令示例
创建一个新的Dockerfile并构建镜像:
- 编写Dockerfile,其中包含构建镜像所需的指令。
- 构建镜像:
docker build -t my-image-name .
创建并启动带有卷映射的容器:
docker run -v /host/path:/container/path -d --name my_container my_image
创建新的网络:
docker network create my_network
将容器连接到网络:
docker network connect my_network my_container
查看容器日志:
docker logs [容器ID或名字] 示例:docker logs -f webserver `-f` 参数表示跟随输出(实时查看)
导出容器快照为tar归档:
docker export [容器ID]
使用label标签:
- 拉取镜像时添加label:
docker pull --label key=value nginx:latest
创建容器时添加label:
docker run -l key=value --name my_container nginx:latest
Docker的命令非常多,以上仅列举了一部分基础和常见操作。更多高级操作,如创建Swarm集群、设置资源限制、配置安全选项等。