1 容器的創(chuàng)建和啟動(dòng)
1.1 容器創(chuàng)建和啟動(dòng)的方法
容器的創(chuàng)建有兩種方法:
- 使用
docker run
命令拦惋,該命令會(huì)創(chuàng)建并啟動(dòng)容器,比如员寇,使用hello-world鏡像啟動(dòng)一個(gè)容器:
docker run hello-world
這時(shí)弄慰,容器便會(huì)被創(chuàng)建并啟動(dòng)。 - 使用
docker create
命令丁恭,創(chuàng)建一個(gè)容器曹动,但容器處于停止?fàn)顟B(tài)并不會(huì)啟動(dòng)斋日。
1.2 容器的分類(lèi)
- 守護(hù)式容器牲览,使用
-d
或者--detach
選項(xiàng)創(chuàng)建和啟動(dòng)容器,如:
docker run -d nginx
- 交互式容器,使用
-i
或者--interactive
選項(xiàng)創(chuàng)建和啟動(dòng)容器第献,再使用-t
或--tty
創(chuàng)建一個(gè)虛擬終端并綁定標(biāo)準(zhǔn)輸入贡必,如:
docker run --interactive --tty busybox /bin/sh
2 容器的信息
2.1 容器的識(shí)別
- 通過(guò)id識(shí)別
在創(chuàng)建和或者啟動(dòng)成功某容器時(shí),終端會(huì)輸出容器的id庸毫。通過(guò)docker ps
可以查看容器的信息仔拟,包括被截取的短id。 - 通過(guò)name識(shí)別
創(chuàng)建和啟動(dòng)容器時(shí)飒赃,可以使用--name
選項(xiàng)來(lái)指定自定義的名稱(chēng)
2.2 容器的狀態(tài)
- 已退出利花。
- 運(yùn)行中。
- 重新啟動(dòng)中载佳。
- 暫停中炒事。
3 容器的系統(tǒng)
3.1 只讀文件系統(tǒng)
使用--read-only
選項(xiàng)創(chuàng)建容器,可以創(chuàng)建只讀文件系統(tǒng)的容器蔫慧。
docker run --read-only wordpress
3.2 設(shè)置容器系統(tǒng)的環(huán)境變量
使用--env
或-e
選項(xiàng)往容器中注入自定義的環(huán)境變量挠乳,
docker run --env CUSTOM_VAR="hello docker" busybox
4 容器的持久化
4.1 通過(guò)命令實(shí)行自動(dòng)重啟
在創(chuàng)建容器時(shí),使用--restart
選項(xiàng)可以讓容器自動(dòng)啟動(dòng)姑躲,可以為重啟設(shè)定相應(yīng)的重啟策略睡扬。
策略 | 作用 |
---|---|
no | 從不重新啟動(dòng)(默認(rèn)) |
always | 總是重啟 |
on-failure[:max-retries] | 當(dāng)遇到故障退出后嘗試重啟,可以選擇限定嘗試重啟次數(shù) |
unless-stop | 除非容器處于停止?fàn)顟B(tài)黍析,否則總是重啟 |
4.2 使用superviso進(jìn)程或init進(jìn)程維持容器的運(yùn)行狀態(tài)
superviso進(jìn)程或init進(jìn)程用來(lái)啟動(dòng)和維護(hù)其他程序狀態(tài)卖怜,可以使用一個(gè)啟動(dòng)腳本,該腳本會(huì)檢查軟件成功開(kāi)啟的先決條件橄仍,以此來(lái)維持容器的運(yùn)行狀態(tài)韧涨。
5 容器的清理
使用docker ps -a
可以查看所有容器,使用docker rm 容器ID或者容器名
即可刪除容器侮繁,如果容器處于啟動(dòng)狀態(tài)虑粥,可以使用docker rm -f 容器ID或者容器名
或者先將其停止再刪除。