载入镜像:
root@ubuntu:~# docker pull training/webapp # 载入镜像
root@ubuntu:~# docker run -d -P training/webapp python app.py
e7a64ba7df2f073959097670c9c10ab1ccb2f11fa461fc6f7ebf55480141d999
参数说明:
- -d:让容器在后台运行。
- -P:将容器内部使用的网络端口映射到我们使用的主机上。
查看WEB容器:
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7a64ba7df2f training/webapp "python app.py" 11 seconds ago Up 11 seconds 0.0.0.0:32769->5000/tcp nifty_austi
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
这时可以通过浏览器访问WEB应用:
也可以通过 -p 参数来设置不一样的端口:
root@ubuntu:~# docker run -d -p 5000:5000 training/webapp python app.py
9a1c8f6307aea333aefe0c227e16b8f7ca8c5b2747718771a08956ff602bb8c1
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9a1c8f6307ae training/webapp "python app.py" 35 seconds ago Up 34 seconds 0.0.0.0:5000->5000/tcp frosty_boyd
查看WEB应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出:
root@ubuntu:~# docker logs 9a1c8f6307ae
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.0.116 - - [18/May/2018 06:25:30] "GET / HTTP/1.1" 200 -
192.168.0.116 - - [18/May/2018 06:25:30] "GET /favicon.ico HTTP/1.1" 404 -
查看WEB应用程序容器的进程
docker top 来查看容器内部运行的进程:
root@ubuntu:~# docker top 9a1c8f6307ae
UID PID PPID C STIME TTY TIME CMD
root 3628 3613 0 23:24 ? 00:00:00 python app.py
检查WEB应用程序
使用 docker inspect 来查看Docker的底层信息,返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。:
停止WEB应用容器:
root@ubuntu:~# docker stop 9a1c8f6307ae
9a1c8f6307ae
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7a64ba7df2f training/webapp "python app.py" 17 minutes ago Up 17 minutes 0.0.0.0:32769->5000/tcp nifty_austin
重启WEB应用容器:
root@ubuntu:~# docker stop e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@ubuntu:~# docker start e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7a64ba7df2f training/webapp "python app.py" 20 minutes ago Up 3 seconds 0.0.0.0:32770->5000/tcp nifty_austin
root@ubuntu:~#
移除WEB应用容器
使用 docker rm 命令来删除不需要的容器(删除容器时,容器必须是停止状态):
root@ubuntu:~# docker stop e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker rm e7a64ba7df2f
e7a64ba7df2f
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES