八、操作Docker容器(1)
run 创建容器并启动
语法
docker [container] run [OPTIONS] IMAGE [COMMAND] [ARG...]
[options]
参数 | 含义 |
---|---|
-a | -a,是否绑定到标准输入、输出、错误 |
-d | 是否在后台运行,默认否 |
-i | -i,以交互模式运行容器,通常与 -t 同时使用 |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用 |
-v | 绑定一个文件卷到容器内 |
-P | (小写p)指定端口映射,格式为:主机(宿主)端口:容器端口 |
-p | (大写P) 随机端口映射,容器内部端口随机映射到主机的端口 |
--name | 为容器指定一个名称 |
--link | 添加链接到另一个容器 |
-h | 指定容器的hostname |
-e | 设置环境变量 |
- -a,是否绑定到标准输入、输出、错误
- -d,是否在后台运行,默认否
- -i,以交互模式运行容器,通常与 -t 同时使用
- -t,为容器重新分配一个伪输入终端,通常与 -i 同时使用
- -v, 绑定一个文件卷到容器内
- -p,(小写p)指定端口映射,格式为:主机(宿主)端口:容器端口
- -P,(大写P) 随机端口映射,容器内部端口随机映射到主机的端口
- --name,为容器指定一个名称
- --link,添加链接到另一个容器
- -h, 指定容器的hostname
- -e,设置环境变量
案例
# 使用docker镜像nginx以后台模式启动一个容器,并命名为my_nginx
docker run --name my_nginx -d nginx:latest
# 使用nginx镜像以后台模式启动一个容器并将容器的80端口映射到主机随即端口
docker run -P -d nginx:latest
# 使用nginx镜像以后台模式启动一个容器,将容器的80端口映射到主机的80端口
# 并将主机目录挂载到容器的
docker run -p 80:80 -v /data:/data -d nginx:latest
# 匿名挂载,-v直接带容器内路径
docker run -d -P --name nginx01 -v /home/nginx
# 具名挂载,指定容器卷名,可通过 docker volume ls查看
docker run -d -P --name nginx02 -v juming-nginx:/home/nginx02
docker run 后台运行的标准操作
- 检查本地是否存在指定镜像,不存在则从公仓下载
- 利用镜像创建一个容器,并启动该容器
- 分配一个文件系统给容器,并在只读镜像外层挂载一层可读写层
- 从宿主主机配置的网桥接口接一个虚拟接口到容器中
- 从网桥的地址池配置一个IP地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被自动终止
docker run常见错误代码
- 125 Docker daemon执行出错,如不支持的Docker命令参数
- 126 指定的命令无法执行,如无权限
- 127 容器内命令无法找到
create 创建新的容器但不启动
语法
docker [container] create [options] IMAGE [COMMAND] [ARG...]
[options]同run的options
案例
docker container create --name hello hello-world
start/stop/restart 启动/停止/重启 容器
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
语法
docker [container] start [options] container
docker [container] stop [options] container
docker [container] restart [options] container
案例
# 停止运行中的容器
docker container stop web
# 启动已被停止的容器
docker container start web
# 重启容器
docker container restart web
logs 获取容器的日志
语法
docker [container] logs [options] CONTAINER
[options]
- -f 跟踪日志输出
- --since 显示某个开始时间的所有日志
- -t 显示时间戳
- --tail 仅列出最新N条容器日志
案例
# 查看容器web的日志
docker container logs -f web
2020-08-10
请登录后再评论