14、Docker 实战:Docker 容器运行 Web 应用
前面我们运行的容器并没什么大作用,这次,我们尝试使用 docker 构建一个 web 应用程序
我们将在 Docker 容器中运行一个 Python Flask 应用来运行一个 web 应用
我特意去 Docker Hub 找了一圈,发现这个 jcdemo/flaskapp 是最好的,小,而且刚好满足我们的需求
拉取 jcdemo/flaskapp 镜像
使用下面的命令将 jcdemo/flaskapp 镜像拉取到本地
[root@ddkk.com ~]# docker pull jcdemo/flaskapp
latest: Pulling from jcdemo/flaskapp
81033e7c1d6a: Pull complete
9b61101706a6: Pull complete
35b21c1a8b97: Pull complete
4856f5aeeec4: Pull complete
ce9545e7847c: Pull complete
c0a17c8bb7b9: Pull complete
c8d70066c010: Pull complete
Digest: sha256:c0c7fb38dfa6dc371e8c04827eb83ff265401ddc25b624ed58d05b1cce0026f8
Status: Downloaded newer image for jcdemo/flaskapp:latest
f6a0e149983a29294abd76c141f44e8da59bcbaf1d283be63fca803a486f9582
Docker 容器运行 Web 应用
我们使用下面的命令运行我们的 Web 应用容器 jcdemo/flaskapp
[root@ddkk.com ~]# docker run -d -P jcdemo/flaskapp
d07b599f11e473c3112002f9b697efd4f01b0f7563490db65cfc11ba8d816bbb
参数 | 说明 |
---|---|
-d | 让容器在后台运行 |
-P | 将容器内部使用的网络端口映射到我们使用的主机上 |
查看 WEB 应用容器
使用docker ps 来查看我们正在运行的容器 (字段有删除)
[root@ddkk.com ~]# docker ps
CONTAINER ID STATUS PORTS
d07b599f11e4 Up 3 minutes 0.0.0.0:32768->5000/tcp
可以看到,想比较于之间的容器,这个容器的 PORTS 字段是有值的
PORTS
0、0、0.0:32768->5000/tcp
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32768 上
这样我们就可以通过 http://localhost:32768/ 来访问 Web 应用