docker run
# docker run
作用:创建并进入容器
# 语法格式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
1
COMMAND:需要在容器内执行的命令
docker run 执行流程:
- 首先在指定镜像上创建一个可写的容器层
- 然后使用指定的命令(COMMAND)启动它
- docker run 相当于执行了两个 API:/containers/create、/containers/(id)/start
常用 options 说明:
options | 说明 |
---|---|
-i,--interactive | 以交互模式运行容器,通常与 -t 同时使用 |
-t,--tty | 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 |
-d, --detach | 后台运行容器并打印容器 ID |
--name | 给容器添加名字 |
-p, --publish | 指定端口映射,格式:主机(宿主)端口:容器端口 |
-P, --publish-all | 随机端口映射,容器内部端口随机映射到主机的端口 |
-u | 以什么用户身份创建容器 |
-m, --memory | 设置容器使用内存最大值 |
--privileged | 容器内是否使用真正的 root 权限 |
-e username="ritchie" | 设置环境变量 |
--dns | 指定容器 dns 服务器 |
# docker run 实例
# 无 options
使用镜像 nginx
此时会将容器日志打印,无法输入其他命令
重新新开一个终端,使用 docker ps
查看容器
# 带 options
# -d
后台运行容器方式
注意:
- 容器使用后台运行,就必须要有一个前台进程
- docker 发现没有应用,就会停止
# --name
给容器添加名字
# 端口映射
# 方式一:-p
3 种格式:
# 指定 ip 和端口
docker run -p ip:主机端口:容器端口
# 指定端口
docker run -p 主机端口:容器端口 (常用)
# 随机端口,与 -P 类似
docker run -p 容器端口
1
2
3
4
5
6
2
3
4
5
6
# 方式二:-P
可以看到将容器端口随机映射到主机主机的 49153 端口上了
# 方式三:--expose
可以看到将容器端口随机映射到主机主机的 80 端口上了
# -it
# 不带 bash
没有进入 CLI 界面
# 带 bash
进入了 CLI 界面,可以进行命令操作
# 退出当前容器
exit #退出 CLI 容器直接 stop
ctrl +P +Q #容器不停止退出 ---注意:这个很有用的操作
1
2
2
(完)