Working with Containers

先回顧以前學習過的一些命令

shelldocker run -i...交互式運行
docker run -d...background運行`daemon`守護進程
docker ps...Lists containers.(容器列表)
docker logs...Shows us the standard output of a container.(顯示容器的標準輸出)
docker stop...Stops running containers.

docker命令格式:python

shell[sudo] docker [command] [flags] [arguments]...

Seeing what the Docker client can do

docker client能幹什麼web

[sudo] docker...顯示docker後能執行的命令docker

Seeing Docker command usage

docker 命令使用shell

languagedocker command --help...查看特定命令的使用方式

Running a Web Application in Docker

docker中運行一個web應用json

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

-P參數表示將容器內部要用到的網絡端口映射到主機瀏覽器

languagedocker ps -l -a

-l顯示容器的詳細信息,-a表示顯示全部的容器信息(包含之前運行的)網絡

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

-P表示將image鏡像的任何端口映射到咱們本身的主機
-p本身指定image的網絡端口和主機的端口app

實戰:
命令行輸入webapp

languagedocker run -d -P training/webapp python app.py
docker ps -l -a
out:
adolph@geek:~$ docker ps -a -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     2 minutes ago       Up 2 minutes        0.0.0.0:32769->5000/tcp   elegant_curie

這裏重要的是port下面的值:0.0.0.0:32769->5000/tcp,個人理解是:這條命令把0.0.0.0:32769這個本身主機的端口映射到容器裏的5000端口,因此當你在本身的瀏覽器輸入0.0.0.0:32769是它會映射到images的5000端口從而訪問app.py的網頁tcp

A Network Port Shortcut

網站端口Shortcut

languagedocker port [container id|container name]

這條命令表示輸出容器的端口和映射端口,

language5000/tcp -> 0.0.0.0:32769
adolph@geek:~$ docker port 1179c 5000
0.0.0.0:32769

Viewing the Web Application's Logs

查看web應用的logs

languageadolph@geek:~$ docker logs -f elegant_curie 
 * Running on http://0.0.0.0:5000/
172.17.42.1 - - [12/May/2015 17:49:25] "GET / HTTP/1.1" 200 -
172.17.42.1 - - [12/May/2015 17:49:26] "GET /favicon.ico HTTP/1.1" 404 -

-f功能相似於tail -f並且咱們能夠看到標準輸出的信息

Looking at our Web Application Container's processes

查看web應用容器的進程

使用docker top命令

languageadolph@geek:~$ docker top elegant_curie 
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                32280               2150                0                   01:48               ?                   00:00:00            python app.py

Inspecting our Web Application Container

檢查web應用容器

languagedocker inspect comtainer name

Json格式輸出信息

Stopping&Start&Remove our Web Application Container

中止和啓動咱們的web容器

languageadolph@geek:~$ docker ps -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     25 minutes ago      Up 25 minutes       0.0.0.0:32769->5000/tcp   elegant_curie       
adolph@geek:~$ docker stop elegant_curie 
elegant_curie
adolph@geek:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES                                                 
adolph@geek:~$ docker start elegant_curie 
elegant_curie
adolph@geek:~$ docker ps -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     26 minutes ago      Up 7 seconds        0.0.0.0:32770->5000/tcp   elegant_curie       

adolph@geek:~$ docker stop elegant_curie 
elegant_curie
adolph@geek:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
adolph@geek:~$ docker rm elegant_curie 
elegant_curie

命令總結

shelldocker...顯示docker的命令
docker command --help...顯示某個命令的幫助
docker ps -a -l...顯示全部的容器信息
docker run -d -P ...-P映射容器的5000端口到主機的任意端口[32768-61000]
docker run -d -p ...-p本身指定映射端口
docker port [comtainer id|container name]...查看容器的端口狀況
docker logs -f [container name|id] ...輸出容器標準輸出
docker inspect [container name]...輸出json格式的容器的詳細信息
docker top [container name...查看容器的進程
docker stop|start|rm [container name]...中止|開始|刪除容器
相關文章
相關標籤/搜索