docker-docker客户端

在docker容器中运行一个 Python Flask 应用来运行一个web应用。

w3cschool@w3cschool:~# docker run -d -P training/webapp python app.py

参数说明:

  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口映射到我们使用的主机上。

也可以指定 -p 标识来绑定指定端口:

w3cschool@w3cschool:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker还提供了另一个快捷方式:docker port,使用 docker port 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号。

w3cschool@w3cschool:~$ docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
w3cschool@w3cschool:~$ docker port determined_swanson
5000/tcp -> 0.0.0.0:5000

查看WEB应用程序日志

docker logs [ID或者名字] 可以查看容器内部的标准输出。

w3cschool@w3cschool:~$ docker logs -f 7a38a1ad55c6
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -
192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

-f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出。

使用 docker top 来查看容器内部运行的进程

w3cschool@w3cschool:~$ docker top determined_swanson

使用 docker inspect 来查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

w3cschool@w3cschool:~$ docker inspect determined_swanson
[
    {
        "Id": "7a38a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361",
        "Created": "2016-05-09T16:20:45.427996598Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "running",
......

容器启动停止操作:

#停止容器
docker stop ID|NAME
#启动容器
docker start ID|NAME
#重启容器
docker restart ID|NAME

#使用 docker rm 命令来删除不需要的容器
docker rm ID|NAME
#删除容器时,容器必须是停止状态,否则会报如下错误

 

posted @ 2018-05-14 14:06  benchdog  阅读(1379)  评论(0编辑  收藏  举报