Docker从入门到精通:Docker run 命令学习
前言
我们在之前介绍了docker的容器管理的相关命令,但是对于docker run
命令,我们并没有做非常详细的介绍,docker run
命令是一个关键的工具。它允许你从 Docker 镜像创建和启动容器实例。本文将介绍 docker run 命令的基本用法以及一些常见的参数,帮助你更好地理解和利用 Docker。
Docker Run 命令概述
docker run 命令用于在 Docker 中创建并启动一个新的容器。如果指定的镜像在本地不存在,它会首先从 Docker Hub 或其他注册表中拉取该镜像。
基本用法
以下是 docker run 命令的基本语法:
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] OPTIONS:可以是一系列的选项,用于配置容器的各种属性。 IMAGE:指定要使用的镜像名称或 ID。 TAG:镜像的标签,用于指定镜像的特定版本。如果未指定,默认使用 latest 标签。 COMMAND:覆盖镜像中的默认命令。 ARG...:传递给命令的参数。
常用参数
下面是一些常用的 docker run
命令选项:
-d
:后台运行容器(以守护进程模式)。-it
:交互式操作,通常与 -d 一起使用。--name
:为容器指定一个名称。--rm
:容器停止后自动删除容器文件系统。-v
:挂载主机目录到容器内部的指定路径。-p
,指定端口映射,格式:主机(宿主)端口:容器端口-P
,随机端口映射,容器内部端口随机映射到主机的端口-u
,以什么用户身份创建容器
示例用法
- 启动一个简单的容器
docker run ubuntu:latest
这会在后台启动一个基于 Ubuntu 镜像的容器,并立即退出(因为没有指定要运行的命令)。
- 交互式容器
docker run -it ubuntu:latest /bin/bash
这会启动一个交互式的 Ubuntu 容器,并打开一个 bash shell。
- 映射端口
docker run -d -p 8080:80 nginx:latest
这会在后台启动一个 Nginx 容器,并将容器的 80 端口映射到主机的 8080 端口。
- 挂载卷
docker run -d -v /path/on/host:/path/in/container nginx:latest
这会启动一个 Nginx 容器,并将主机上的 /path/on/host
目录挂载到容器内的 /path/in/container
目录。
- 以 root 权限创建容器,当进入容器之后,拥有 root 权限去执行命令
# 创建容器 docker run -d --name jenkin_hogwarts --privileged=true jenkins/jenkins # 进入容器 docker exec -it jenkin_hogwarts bash
总结
docker run
是 Docker 中一个非常强大和常用的命令,可以根据指定的镜像创建和启动容器。通过合理地使用选项,你可以配置容器的各种属性,包括后台运行、端口映射、挂载卷等。希望本文的介绍能帮助你更好地使用 docker run
命令管理和运行容器化应用程序。