單容器管理
一.容器標識符
每一個容器被創(chuàng)建之后玷或,都會分配一個CONTAINER ID作為容器的唯一標識小染。
CONTAINER ID默認是128位的次兆,但是一般簡寫為前16位,足以標志其在本機的唯一性歼狼。
docker ps 查到的就是CONTAINER ID的縮略形式掏导,docker ps --no-trunc 可以查看完整ID。
在創(chuàng)建時通過--name 參數(shù)來給容器起一個別名羽峰,來方便記憶趟咆,也可以通過別名對容器進行操作添瓷。
二.查詢?nèi)萜餍畔?br>
docker inspect 查詢?nèi)萜鞯乃谢拘畔ⅲㄟ\行情況,存儲位置忍啸,配置參數(shù)仰坦,網(wǎng)絡(luò)參數(shù)等等),以JSON格式展示。使用 -f 可以使用Golang的模版來提取指定部分的信息计雌。
$ docker inspect -f {{.State.Status}} MyWordPress
running
$ docker inspect -f {{.NetworkSettings.IPAddress}} MyWordPress
172.17.0.5
查看日志:docker logs + name [docker log MyWordPress]
實時打印最新日志悄晃,加上參數(shù) -f
docker stats 查看容器所占用的系統(tǒng)資源。[docker stats MyWordPress]
三.容器內(nèi)部命令
登入容器:docker exec + 容器名 + 容器內(nèi)執(zhí)行的命令
[docker exec MyPressWord ps aux]
連續(xù)執(zhí)行命令: 加上 -it 參數(shù)凿滤,等于root用戶登入妈橄,連續(xù)執(zhí)行命令,用exit退出
[docker exec -it MyPressWord /bin/bash]
多容器管理
多個容器一起組成的系統(tǒng)翁脆,--link 來建立容器之前的聯(lián)系眷蚓。創(chuàng)建containerB 需要--link contatnerA時,contaunerA必須已經(jīng)創(chuàng)建好并啟動運行反番。
啟動也需要求先后順序: 停止的先后順序:
docker start containerA docker stop containerB
docker start containerB docker stop containerA
一.Docker Compose 容器編排工具
使用YAML格式的模版來定義一組相關(guān)聯(lián)的應(yīng)用容器沙热,這組容器會根據(jù)--link等參數(shù)對啟動優(yōu)先級自動排序。執(zhí)行 docket-compose up 即可啟動完成罢缸。
安裝Docker Compose:
sudo curl -L https://github.com/docker/conpose/releases/download/1.6.0/docker-compose-uname -m
> /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose.yml內(nèi)容格式如下:
wordpress:
image: wordpress
link:
- db:mysql
ports:
- 8080:80
db:
image:mariadb
environment:
MYSQL_ROOT_PASSWORD: example
容器之間的依賴篙贸,若依賴為一個容器中的某個進程,則需要等待這個進程啟動之后枫疆,才能啟動containerB爵川,啟動容器不等于啟動進程。這一方面Docker Compose無能為力
二.配置文件
默認的Docker Compose配置文件名為docker-compose.yml息楔,我們也可以使用 -f 參數(shù)指定配置文件
Docker Compose啟動多容器項目之后寝贡,我們可以使用docker-compose來進行查詢,啟動值依,停止等操作(使用 -f 指定docker-compose.yml )docker-compose -f ~/docker-compose.yml start[stop/down/ps]