运行如下命令:
docker container run --publish 80:80 nginx
上述命令可以不加 container
,为旧的命令格式:
docker run --publish 80:80 nginx
发布端口的格式如下,--publish
也可以简写成 -p
--publish 本地端口:容器端口
( 如果出现 bind error,说明本地 80
端口被占用,将本地端口80改成别的端口号就可以,例如改成 8080,8888
等,测试时浏览器也要使用相应端口号,例如 localhost:8888
)
此命令所执行的操作主要有:
- 从 Docker Hub 下载 nginx 的 image (如果本地不存在)
- 为此 image 启动容器
- 在本机上打开 80 端口
- 将通信路由到容器(routes that traffic to container IP, port 80)
image 就是所要执行的应用程序。
浏览器输入 localhost
,将看到以下界面:
要关闭命令执行界面,需要另外打开一个 windows power shell, Ctrl + C 不起作用, docker container ls -a
列出正在运行的容器
C:\Users\yanchun>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7d47384102d nginx "/docker-entrypoint.…" 33 minutes ago Up 33 minutes 0.0.0.0:80->80/tcp
然后停止容器:
docker stop d7
这里的 d7
是容器 id, 不必写全,独一无二能使 docker 识别出是哪个容器就行。
在命令里加 --detach
使容器在后台运行:
docker container run --publish 80:80 --detach nginx
此命令将返回容器 id:
C:\Users\yanchun>docker container run --publish 80:80 --detach nginx
ce952b62ddfe60db58416b12a21cde7687911d5cc0c307b730ffd2525d33b650
C:\Users\yanchun>