基于博主使用與學(xué)習(xí)過(guò)程,持續(xù)更新......
-
重啟
systemctl daemon-reload systemctl restart docker # 開(kāi)機(jī)啟動(dòng) systemctl enable docker -
管理
# 刪除所有容器 docker rm -f `docker ps -a -q` # 刪除無(wú)引用的鏡像 docker image prune -a -f # 刪除所有鏡像 docker rmi `docker images -q` # 重啟所有容器 docker restart `docker ps -a -q` -
docker
docker run {dockerParameter} {image} {containerParameter}
{dockerParameter}為docker create時(shí)期的docker參數(shù)①,只會(huì)在創(chuàng)建的時(shí)候執(zhí)行生效一次并作用于容器整個(gè)生命周期,而{containerParameter}為docker start時(shí)期的容器參數(shù)②,每次啟動(dòng)都會(huì)執(zhí)行并生效,因此通過(guò)-e配置的用戶名密碼類(lèi)的環(huán)境變量不會(huì)因?yàn)槊看沃貑⑷萜鳎瑢⒁研薷牡?code>用戶名密碼還原-
rm:刪除容器 -
rmi:刪除鏡像 -
f:強(qiáng)制執(zhí)行,一般配合刪除鏡像或容器一起使用 -
run:?jiǎn)?dòng)容器 -
exec:進(jìn)入容器 -
inspect:查看鏡像或容器的詳情 -
search:搜索鏡像,或訪問(wèn)https://hub.docker.com,搜索相關(guān)鏡像詳細(xì)說(shuō)明,點(diǎn)擊版本信息可查看Dockerfile,可閱讀相關(guān)配置 -
pull:拉取鏡像 -
logs:查看容器運(yùn)行日志 -
start:?jiǎn)?dòng),每次開(kāi)啟,程序重新加載容器參數(shù)②并開(kāi)啟進(jìn)程 -
stop:關(guān)停,每次關(guān)閉,程序會(huì)結(jié)束進(jìn)程 -
restart:重啟,每次關(guān)閉,程序首先結(jié)束進(jìn)程,再重新加載容器參數(shù)②并開(kāi)啟進(jìn)程start、stop、restart,雖然不會(huì)清空容器內(nèi)的數(shù)據(jù),但是不同于虛擬機(jī)掛起模式,不會(huì)保留操作當(dāng)時(shí)的狀態(tài),而是類(lèi)似于虛擬機(jī)或計(jì)算機(jī)的開(kāi)關(guān)機(jī)操作,每次操作都會(huì)進(jìn)入全新的狀態(tài),只是運(yùn)行的數(shù)據(jù)被保留
-
-
docker run
-
-d:后臺(tái)模式運(yùn)行 -
-i:交互模式運(yùn)行 -
-t:分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用
-d與-it是兩種不同容器運(yùn)行方式,可根據(jù)實(shí)際情況使用,一般運(yùn)行容器使用-d,進(jìn)入容器使用-it -
-p(--publish):映射宿主機(jī)端口,前面為宿主機(jī)后面為容器 -
-v(--volume):掛在宿主機(jī)目錄,方便拷貝或遷移數(shù)據(jù),前面為宿主機(jī)后面為容器,會(huì)將宿主機(jī)的數(shù)據(jù)覆蓋至容器,其作用:使容器能夠更方便的訪問(wèn)宿主機(jī)的文件數(shù)據(jù)將容器內(nèi)的數(shù)據(jù)存儲(chǔ)至宿主機(jī),避免因容器的修改、刪除、重建、損壞而丟失數(shù)據(jù)
-
h:指定容器主機(jī)名 -
m:指定容器內(nèi)存大小,一般與--memory-swap共同作用。異常不生效時(shí),參考:https://blog.csdn.net/qq23ue/article/details/86637460 -
cp:宿主機(jī)與容器文件拷貝- docker cp {container}:{path} {hostPath}:將容器內(nèi)的文件拷貝至宿主機(jī)
- docker cp {hostPath} {container}:{path}:將宿主機(jī)的文件拷貝至容器內(nèi)
-
-e:設(shè)置環(huán)境變量(docker參數(shù)①),如docker run ...... -e JAVA_HOME=/var/java ...... -
--name:容器名稱(chēng) -
--net:網(wǎng)絡(luò)模式(使用host模式時(shí),-p參數(shù)就不需要了) -
--privileged=true:設(shè)置容器特權(quán)。設(shè)置為true時(shí),容器內(nèi)的root擁有宿主機(jī)真正的root權(quán)限,設(shè)置為false時(shí),容器內(nèi)的root只是宿主機(jī)的一個(gè)普通用戶權(quán)限 -
--log-opt:日志參數(shù),常用max-size(文件大?。┡cmax-file(文件數(shù)量) -
--{containerParameter} {containerParameterValue}:容器參數(shù)②,如docker run ...... --JAVA_HOME /var/java
-
-
docker exec:進(jìn)入容器,示例:docker exec -it {container} {}
-
/bin/bash|/bin/sh|bash|sh
*在容器中,鍵入exit退出容器
*bash是sh的完整版,bash完全兼容sh命令,反之不行,具體那個(gè)可行需要看容器的基礎(chǔ)鏡像的腳本解釋器
-
-
docker logs:查看容器日志
-
-f:實(shí)時(shí)日志 -
-t:查看日志產(chǎn)生日期 -
--since:輸出指定日期之后的日志 -
--tail=N:輸出前N條日志
-
docker info:查看docker信息
-
國(guó)內(nèi)源配置,參考:https://www.cnblogs.com/anliven/p/6218741.html | http://m.itdecent.cn/p/4ef9cc9c2092
-
阿里云
產(chǎn)品與服務(wù)->容器鏡像服務(wù)->鏡像中心->鏡像加速器# 主流方式(在/etc/docker目錄增加daemon.json文件,并在文件中配置鏡像倉(cāng)庫(kù)地址) sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://1234abcd.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker # centos環(huán)境下的其他方式(配置未生效,猜測(cè)此配置方式已過(guò)時(shí)) sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon https://1234abcd.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service sudo systemctl daemon-reload sudo systemctl restart docker -
使用公共鏡像倉(cāng)庫(kù)地址
Docker-CN: https://registry.docker-cn.com
-
Azure中國(guó)鏡像: https://dockerhub.azk8s.cn
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
-
啟動(dòng)該方式指定倉(cāng)庫(kù)
# 如果源地址為:registry-1.docker.io/v2 docker pull registry-1.docker.io/v2/{images} -
擴(kuò)展
-
docker swarm,用于docker應(yīng)用的集群負(fù)載管理: -
docker compose,用于定義和運(yùn)行多容器 docker應(yīng)用程序: -
docker machine,用于創(chuàng)建集群主機(jī)的docker容器環(huán)境:
-
-