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]...
docker client能幹什麼web
[sudo] docker
...顯示docker後能執行的命令docker
docker 命令使用shell
languagedocker command --help...查看特定命令的使用方式
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
網站端口
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
查看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
並且咱們能夠看到標準輸出的信息
查看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
檢查web應用容器
languagedocker inspect comtainer name
以Json
格式輸出信息
中止和啓動咱們的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]...中止|開始|刪除容器