一:容器生命周期類(lèi):
-
創(chuàng)建并運(yùn)行:run【docker run [OPTIONS] IMAGE [COMMAND] [ARG...]】
- -i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用秒拔;
- -t: 為容器重新分配一個(gè)偽輸入終端此改,通常與 -i 同時(shí)使用串塑;
- -d: 后臺(tái)運(yùn)行容器战转,并返回容器ID躬审;
- --name="nginx-lb": 為容器指定一個(gè)名稱(chēng)枉证;
- -a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類(lèi)型矮男,可選 STDIN/STDOUT/STDERR 三項(xiàng);
- -P: 隨機(jī)端口映射室谚,容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口
- -p: 指定端口映射毡鉴,格式為:主機(jī)(宿主)端口:容器端口
- --dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致秒赤;
- --dns-search example.com: 指定容器DNS搜索域名猪瞬,默認(rèn)和宿主一致;
- -h "mars": 指定容器的hostname入篮;
- -e username="ritchie": 設(shè)置環(huán)境變量陈瘦;
- --env-file=[]: 從指定文件讀入環(huán)境變量;
- --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運(yùn)行潮售;
- -m :設(shè)置容器使用內(nèi)存最大值痊项;
- --net="bridge": 指定容器的網(wǎng)絡(luò)連接類(lèi)型,支持 bridge/host/none/container: 四種類(lèi)型饲做;
- --link=[]: 添加鏈接到另一個(gè)容器线婚;
- --expose=[]: 開(kāi)放一個(gè)端口或一組端口;
- --volume , -v: 綁定一個(gè)卷
啟動(dòng)已存在:start【docker start [OPTIONS] CONTAINER [CONTAINER...]】
-
創(chuàng)建但不啟動(dòng):create【docker create [OPTIONS] IMAGE [COMMAND] [ARG...]】
- 同run
停止已啟動(dòng):stop【docker stop [OPTIONS] CONTAINER [CONTAINER...]】
重啟:restart【docker restart [OPTIONS] CONTAINER [CONTAINER...]】
-
殺掉:kill【docker kill [OPTIONS] CONTAINER [CONTAINER...]】
- -s :向容器發(fā)送一個(gè)信號(hào)
-
刪除:rm【docker rm [OPTIONS] CONTAINER [CONTAINER...]】
- -f :通過(guò)SIGKILL信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器
- -l :移除容器間的網(wǎng)絡(luò)連接盆均,而非容器本身
- -v :-v 刪除與容器關(guān)聯(lián)的卷
暫停:pause【docker pause [OPTIONS] CONTAINER [CONTAINER...]】
恢復(fù):unpause【docker unpause [OPTIONS] CONTAINER [CONTAINER...]】
-
運(yùn)行執(zhí)行命令:exec【docker exec [OPTIONS] CONTAINER COMMAND [ARG...]】
- -d :分離模式: 在后臺(tái)運(yùn)行
- -i :即使沒(méi)有附加也保持STDIN 打開(kāi)
- -t :分配一個(gè)偽終端
二:容器操作:
- 查容器:ps【docker ps [OPTIONS]】
- -a :顯示所有的容器塞弊,包括未運(yùn)行的。
- -f :根據(jù)條件過(guò)濾顯示的內(nèi)容。
- --format :指定返回值的模板文件游沿。
- -l :顯示最近創(chuàng)建的容器饰抒。
- -n :列出最近創(chuàng)建的n個(gè)容器。
- --no-trunc :不截?cái)噍敵觥?/li>
- -q :靜默模式诀黍,只顯示容器編號(hào)袋坑。
- -s :顯示總的文件大小。
- 查元數(shù)據(jù):inspect【docker inspect [OPTIONS] NAME|ID [NAME|ID...]】
- -f :指定返回值的模板文件眯勾。
- -s :顯示總的文件大小枣宫。
- --type :為指定類(lèi)型返回JSON。
- 查進(jìn)程:top【docker top [OPTIONS] CONTAINER [ps OPTIONS]】
- 查看容器中運(yùn)行的進(jìn)程信息吃环,支持 ps 命令參數(shù)也颤。
- 鏈接:attach【docker attach [OPTIONS] CONTAINER】
- 連接到正在運(yùn)行中的容器。
- 可以帶上--sig-proxy=false來(lái)確保CTRL-D或CTRL-C不會(huì)關(guān)閉容器郁轻。翅娶??失敽梦ā竭沫?
- Ctrl+P Ctrl+Q 以守護(hù)形式運(yùn)行。不用exit
- 獲取實(shí)時(shí)事件:events【docker events [OPTIONS]】
- -f :根據(jù)條件過(guò)濾事件骑篙;
- --since :從指定的時(shí)間戳后顯示所有事件;
- --until :流水時(shí)間顯示到指定的時(shí)間為止蜕提;
- 實(shí)例:docker events --since='2019-01-01'
- 日志:logs【docker logs [OPTIONS] CONTAINER】
- -f : 跟蹤日志輸出
- --since :顯示某個(gè)開(kāi)始時(shí)間的所有日志
- -t : 顯示時(shí)間戳
- --tail :僅列出最新N條容器日志
- 實(shí)例:docker -tf --tail 0 test1
- 阻塞:wait【docker wait [OPTIONS] CONTAINER [CONTAINER...]】
- 導(dǎo)出:export【docker export [OPTIONS] CONTAINER】
- 將文件系統(tǒng)作為一個(gè)歸檔文件導(dǎo)出
- -o :將輸入內(nèi)容寫(xiě)到文件。
- 實(shí)例:docker export -o mysql-
date +%Y%m%d
.tar test1
- 映射端口:port
- 【docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]】
- 列出指定的容器的端口映射靶端,或者查找將PRIVATE_PORT NAT到面向公眾的端口贯溅。
三:容器rootfs命令:
- 創(chuàng)建鏡像commit:
- 【docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]】
- -a :提交的鏡像作者;
- -c :使用Dockerfile指令來(lái)創(chuàng)建鏡像躲查;
- -m :提交時(shí)的說(shuō)明文字;
- -p :在commit時(shí)译柏,將容器暫停镣煮。
- 實(shí)例:docker commit -a "OverFlow" -m "my test" a404c6c174a2 mymysql:v1
- 數(shù)據(jù)拷貝cp:
- 用于容器與主機(jī)之間的數(shù)據(jù)拷貝。
- 【docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-】
- 【docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH】
- -L :保持源目標(biāo)中的鏈接
- 實(shí)例:
- docker cp /www/runoob 96f7f14e99ab:/www/
- docker cp 96f7f14e99ab:/www /tmp/
- 檢查修改diff:
- 檢查容器里文件結(jié)構(gòu)的更改鄙麦。
- 【docker diff [OPTIONS] CONTAINER】
四:鏡像倉(cāng)庫(kù):
- login/logout:
- 登陸|登出典唇; 如果未指定鏡像倉(cāng)庫(kù)地址,默認(rèn)為官方倉(cāng)庫(kù) Docker Hub
- 【docker login|logout [OPTIONS] [SERVER]】
- 實(shí)例:
- docker login -u overflow0503 -p STS53Docker
- docker logout
- pull:
- 從鏡像倉(cāng)庫(kù)中拉取或者更新指定鏡像
- 【docker pull [OPTIONS] NAME[:TAG|@DIGEST]】
- -a :拉取所有 tagged 鏡像
- --disable-content-trust :忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟
- 實(shí)例:docker pull java
- push:
- 將本地的鏡像上傳到鏡像倉(cāng)庫(kù),要先登陸到鏡像倉(cāng)庫(kù)
- 【docker push [OPTIONS] NAME[:TAG]】
- --disable-content-trust :忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟
- 實(shí)例:docker push myapache:v1
- search:
- 從Docker Hub查找鏡像
- 【docker search [OPTIONS] TERM】
- --automated :只列出 automated build類(lèi)型的鏡像胯府;
- --no-trunc :顯示完整的鏡像描述介衔;
- -s :列出收藏?cái)?shù)不小于指定值的鏡像。
- 實(shí)例:docker search -s 10 java
五:本地鏡像管理:
- images:列出本地鏡像【docker images [OPTIONS] [REPOSITORY[:TAG]]】
- -a :列出本地所有的鏡像(含中間映像層骂因,默認(rèn)情況下炎咖,過(guò)濾掉中間映像層);
- --digests :顯示鏡像的摘要信息;
- -f :顯示滿足條件的鏡像乘盼;
- --format :指定返回值的模板文件升熊;
- --no-trunc :顯示完整的鏡像信息;
- -q :只顯示鏡像ID绸栅。
- 實(shí)例:docker images ubuntu
- rmi:刪除鏡像【docker rmi [OPTIONS] IMAGE [IMAGE...]】
- -f :強(qiáng)制刪除级野;
- --no-prune :不移除該鏡像的過(guò)程鏡像,默認(rèn)移除粹胯;
- tag:標(biāo)記鏡像
- 標(biāo)記本地鏡像蓖柔,將其歸入某一倉(cāng)庫(kù)。
- 【docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]】
- 實(shí)例:docker tag ubuntu:15.10 runoob/ubuntu:v3
- Dockerfile:Bulid【docker build [OPTIONS] PATH | URL | -】
- 這個(gè)有點(diǎn)復(fù)雜风纠,另在聲明使用方式
- history:歷史【docker history [OPTIONS] IMAGE】
- -H :以可讀的格式打印鏡像大小和日期况鸣,默認(rèn)為true;
- --no-trunc :顯示完整的提交記錄议忽;
- -q :僅列出提交記錄ID懒闷。
- 實(shí)例:docker history runoob/ubuntu:v3
- save:歸檔保存【docker save [OPTIONS] IMAGE [IMAGE...]】
- 將指定鏡像保存成歸檔文件。
- -o :輸出到的文件栈幸。
- 實(shí)例:docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
- load:導(dǎo)入鏡像【docker load [OPTIONS]】
- 導(dǎo)入的就是上面save導(dǎo)出的
- --input , -i : 指定導(dǎo)入的文件愤估,代替 STDIN。
- --quiet , -q : 精簡(jiǎn)輸出信息速址。
- 實(shí)例:docker load --input fedora.tar
- import: 從歸檔文件中創(chuàng)建鏡像玩焰。
- 【docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]】
- -c :應(yīng)用docker 指令創(chuàng)建鏡像;
- -m :提交時(shí)的說(shuō)明文字芍锚;
- 實(shí)例:docker import my_ubuntu_v3.tar runoob/ubuntu:v4
六:info/version
- info: 顯示 Docker 系統(tǒng)信息昔园,包括鏡像和容器數(shù)。并炮。
- 【docker info [OPTIONS]】
- version: 顯示 Docker 版本信息默刚。
- 【docker version [OPTIONS]】
- -f :指定返回值的模板文件。
七:Docker守護(hù)進(jìn)程相關(guān)配置
- service操作命令:
- sudo service docker start
- sudo service docker stop
- sudo service docker restart
- 查看docker狀態(tài)命令:
- ps -ef | gerp docker
- sudo status docker
- 守護(hù)進(jìn)程配置:
- 【docker -d [OPTIONS]】
- 配置文件位置: /etc/default/docker /etc/sysconfig/docker
- 運(yùn)行相關(guān):
- -d, --debug=false
- -e,--exec-driver="native"
- -g,--graph="/var/bin/docker"
- --icc=true
- -l,--log-level="info"
- -able=[]
- -p,--pidfile="/var/run/dpcker.pid"
- 連接相關(guān):
- -G,--group="docker"
- -H,--host=[]
- --tls=flase
- RemoteAPI相關(guān):
- --api-enable-cors=false
- 存儲(chǔ)相關(guān):
- -s,--storage-driver=""
- --selinux-enabled=flase
- --storage-opt=[]
- Registry相關(guān):
- --insecure-registry=[]
- --registry-mirror=[]
- 網(wǎng)絡(luò)設(shè)置相關(guān):
- -b,--bridge=""
- --ip=0.0.0.0
- --ip-forward=ture
- --ip-masq=ture
- --iptables=ture
- --ipv6=false
- --mtu=0
- --dns=[]
- --dns-search=[]
配置使用方式:修改配置文件逃魄,用命令行重啟即可
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"