镜像运行起来后,称为容器。 下面以 Tomcat 为例
搜索镜像
docker search tomcat
下载镜像
docker pull tomcat
运行容器
运行tomcat
docker run --name tomcat -d -p 8080:8080 tomcat
如果docker运行Tomcat后访问首页报404,详细解决方案可参考:https://cloud.tencent.com/developer/article/1704573
最简单的根据镜像新建并启动容器的命令如下:
docker run --name container-name -d image-name
运行一个容器,使用 docker run
命令即可。 另,docker run -参数
含义:
-
-- name
:为容器起一个名称; -
-d
:detached,执行完这句命令后,控制台将不会阻塞,可以继续输入命令操作,不会阻塞,也就是启动守护式容器,如果执行docker run --name tomcat -it tomcat
会进入启动容器的命令控制台,也就是启动交互式容器; -
-i
:以交互方式运行容器,通常与-t
搭配使用; -
-t
:为容器重新分配一个伪输入终端,通常与-i
搭配使用; -
-P
:随机端口映射; -
-p
:指定端口映射; -
image-name
:要运行的镜像名称;
端口映射
启动做端口映射的容器
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写)
或 -p (小写)
参数来指定端口映射。启动容器的时候如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
Docker 的端口映射通过 -p
或 -P
参数实现,命令如下:
docker run --name tomcat1 -d tomcat
docker run --name tomcat2 -d -p 8888:8080 tomcat
如上,就把主机端口 8888 请求映射到 Docker 容器内部端口 8080 了。
-p
和 -P
区别为:
-P : 随机映射一个49000~49900的端口到内部容器开放的网络端口
-p : 可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器
执行完这两条命令后,通过 docker ps
查看: