Docker常見用法整理
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。
Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關係類似於面向對象編程中的對象與類。
-
進入docker查看當前內核版本
uname -r
-
鏡像加速
在/etc/docker/daemon.json中寫入:
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
-
啓動docker後臺服務
sudo service docker start
-
docker容器內運行應用程序
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world
- docker:Docker 的二進制執行文件。
- run: 與前面的 docker 組合來運行一個容器。
- ubuntu: 15.10指定要運行的鏡像,Docker首先從本地主機上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像。
- /bin/echo "Hello world": 在啓動的容器裏執行的命令
-
交互式的容器
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/
- 通過docker的兩個參數 -i -t,讓docker運行的容器實現"對話"的能力
- t:在新容器內指定一個僞終端或終端。
- i: 允許你對容器內的標準輸入 (STDIN) 進行交互。
- 進入容器使用cat /proc/version查看當前系統的版本信息。
-
查看容器是否在運行
docker ps
-
啓動容器
docker start 容器名
-
重啓容器
docker restart 容器名
-
停止容器
docker stop 容器名
-
移除容器
docker rm determined_swanson
-
檢查容器
docker inspect determined_swanson
-
殺死正在運行的容器
runoob@runoob:~$ docker kill -s KILL mynginx mynginx
-
查看docker環境信息
sudo docker info #檢查docker是否正確安裝
-
列出鏡像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
-
搜索鏡像
docker search httpd
-
拉取鏡像
docker pull training/webapp
-
更新鏡像
先使用鏡像來創建一個容器。
docker run -t -i ubuntu:15.10 /bin/bash root@e218edb10161:/# apt-get update #命令進行更新。
提交更新鏡像。
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
- -m:提交的描述信息
- -a:指定鏡像作者
- e218edb10161:容器ID
- runoob/ubuntu:v2:指定要創建的目標鏡像名
-
查看WEB應用程序日誌
docker logs -f 7a38a1ad55c6
查看端口映射
docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
-
運行鏡像生成容器
docker run -d -p 5000:5000 training/webapp python app.py
- -d:讓容器在後臺運行。
- -P :是容器內部端口隨機映射到主機的端口。
- -p : 是容器內部端口綁定到指定的主機端口。
-
設置鏡像標籤
runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
- 鏡像ID 860c279d2fec
- 新的標籤名(tag) runoob/centos:dev