Docker常用命令详解与示例

需积分: 10 0 下载量 181 浏览量 更新于2024-08-04 收藏 24KB DOCX 举报
"Docker是流行的开源容器技术,用于打包应用及其依赖环境,实现轻量级、可移植的部署。本文整理了Docker的一些常用命令,帮助用户更好地管理和操作Docker容器。" 在Docker的世界中,`docker run`是至关重要的命令,用于创建一个新的容器并运行指定的命令。以下是对该命令选项的详细解释: - `-a stdin/stdout/stderr`: 这些选项用于指定容器的标准输入输出,例如 `-i` 可以使容器接收交互式输入,通常与 `-t` 一起使用以提供一个伪TTY。 - `-d`: 后台运行容器,即 detached 模式,使得容器在后台运行并不阻塞终端。使用此选项后,Docker会立即返回容器的ID。 - `-i`: 交互模式,保持标准输入打开,允许用户与容器进行交互。 - `-P`: 随机端口映射,Docker会自动选择一个可用的主机端口映射到容器的指定端口。 - `-p`: 显式指定端口映射,如 `host_port:container_port`,将主机端口映射到容器端口。 - `-t`: 分配一个伪TTY(终端),使得容器可以接收TTY信号,这对于需要交互的应用(如SSH)非常有用。 - `--name="nginx-lb"`: 给容器命名,方便后续管理。 - `--dns`: 指定容器的DNS服务器,可以改变默认的DNS设置。 - `--dns-search`: 设置容器的DNS搜索域,用于解析相对域名。 - `-h "mars"`: 设置容器的主机名。 - `-e username="ritchie"`: 设置环境变量,可以传递应用需要的环境配置。 - `--env-file=[]`: 从指定文件加载环境变量,方便批量设置。 - `--cpuset="0-2" or --cpuset="0,1,2"`: 将容器限制在特定的CPU核心上运行,提高资源隔离。 - `-m`: 设置容器的最大内存使用量,以防止资源过度消耗。 - `--net="bridge"`: 网络模式,可以设置为 `bridge`(默认)、`host`、`none` 或 `container`,控制容器的网络连接。 - `--link=[]`: 添加对其他容器的链接,共享数据和服务。 - `--expose=[]`: 打开容器的端口,但不映射到主机,供其他容器访问。 - `--volume, -v`: 创建一个卷,并将其挂载到容器的指定路径,实现持久化存储。 以下是一些`docker run`命令的示例: 1. 启动一个名为`mynginx`的`nginx:latest`镜像容器,并在后台运行: ``` docker run --name mynginx -d nginx:latest ``` 2. 以后台模式启动`nginx:latest`容器,将容器的80端口映射到主机的随机端口: ``` docker run -P -d nginx:latest ``` 3. 映射主机的80端口到容器的80端口,并将主机的`/data`目录挂载到容器的`/data`: ``` docker run -p 80:80 -v /data:/data -d nginx:latest ``` 4. 绑定容器的8080端口到本地主机的127.0.0.1的80端口: ``` docker run -p 127.0.0.1:80:8080/tcp ubuntu ``` 了解并熟练掌握这些Docker命令,可以帮助用户更高效地管理和运行Docker容器,实现灵活的应用部署和维护。