根据 镜像 创建 一个 新容器 并 运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
参数:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;(重要)
-d: 后台运行容器(退出当前窗口,容器不会关闭),并返回容器ID-i: 以交互模式运行容器,通常与 -t 同时使用;-P: 随机端口映射,容器内部端口随机映射到主机的端口(重要)
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;--name="nginx-lb"(重要): 为容器指定一个名称;--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;-h "mars": 指定容器的hostname;-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: 挂载数据卷
例子:-v /tomcat_logs:/usr/local/tomcat/logs前面是宿主机目录、后面是容器内目录(重要)
--restart=always:docker服务启动或重启后,该容器自动启动(重要)
--privileged=true容器拥有root权限
例子(推荐)
docker run -d -p 8080:8080 tomcat
解释:
- 默认拉取
tomcat:latest -d参数:表示在后台运行,显示容器id-p 8080:8080参数:第一个8080是主机端口,第二个8080是docker端口
访问 http://localhost:8080 一般能访问到tomcat首页
如果提示404,见:Docker启动tomcat,访问首页出现404错误
例子
docker run -p 8080:8080 tomcat
运行后,在控制台中打印tomcat日志信息
注意: 一般很少用这种方式运行,因为不能退出,一旦退出,也就停止了该容器
例子-启动容器并进入交互模式
docker run -it -p 8080:8080 tomcat /bin/bash
根据tomcat镜像创建容器,并以交互模式启动容器,然后运行容器里面的/bin/bash(linux bash命令提示符)
命令提示符变成:
root@ff5dd1a26c26:/usr/local/tomcat#
- 当前shell环境是docker容器中的环境
- 当前目录在docker容器中的
/usr/local/tomcat - 执行
exit命令,退出 docker 容器的shell环境,同时 关闭 该容器
如何退出docker 容器的shell环境,还不关闭容器?需要用docker exec命令