【2】Working with Contianers

  • docker ps - Lists containers.python

  • docker logs - Shows us the standard output of a container.web

  • docker stop - Stops running containers.
    docker

Running a Web Application in Docker

// -P告诉Docker映射所须要的端口到本地主机
ubuntu

$ docker run -d -P training/webapp python app.py


Viewing our Web Application Container

// -l显示详细信息
$ docker ps -l CONTAINER ID  IMAGE                   COMMAND       CREATED        STATUS        PORTS                    NAMES bc533791f3f5  training/webapp:latest  python app.py 5 seconds ago  Up 2 seconds  0.0.0.0:49155->5000/tcp  nostalgic_morse

//Docker将容器的5000端口映射到主机的49155端口,此时能够经过localhost:49155访问网站了
app

//上面的-P标签至关于-p 5000,如下是自定义端口映射关系,将容器的5000端口映射到主机的5000端口
webapp

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


//查看容器ubuntu:14.04的5000端口映射主机的端口
tcp

$ docker port CONTAINERID[3~4] 5000
0.0.0.0:49155


//查看容器ubuntu:14.04的输出,-f 的效果相似tail -f网站

$ docker logs -f CONTAINERID[3~4]
* Running on http://0.0.0.0:5000/
10.0.2.2 - - [23/May/2014 20:16:31] "GET / HTTP/1.1" 200 -
10.0.2.2 - - [23/May/2014 20:16:31] "GET /favicon.ico HTTP/1.1" 404 -


//查看容器的
spa

$ docker top CONTAINERID[3~4]
PID                 USER                COMMAND
854                 root                python app.py

//查看容器对应的IP
luoo@PS:~$ docker inspect -f '{{ .NetworkSettings.IPAddress }}' 3589
172.17.0.8

//中止容器
$ docker stop CONTAINERID[3~4]
//删除容器$ docker rm CONTAINERID[3~4]