容器
啟動(dòng)容器
啟動(dòng)一個(gè)容器的語法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用 OPTIONS 說明:
常用:
-d: 后臺(tái)運(yùn)行容器,并返回容器ID;
-i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
-P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口
-p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口
--name "xxx": 為容器指定一個(gè)名稱;
-h "xxx" : 指定容器的hostname(主機(jī)名)。等同于 --hostname;
不常用:
-a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng);
--dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認(rèn)和宿主一致;
-e username "xxx": 設(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ò)連接類型,支持 bridge/host/none/container: 四種類型;
--link [] : 添加鏈接到另一個(gè)容器;
--expose []: 開放一個(gè)端口或一組端口;
--volume , -v: 綁定一個(gè)卷
操作容器
docker ps 查看正在運(yùn)行的容器
docker start xxx :啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器
docker stop xxx :停止一個(gè)或多個(gè)運(yùn)行中的容器
docker restart xxx :重啟一個(gè)或多個(gè)容器
查看容器
默認(rèn)只列出正在運(yùn)行的
docker ps [OPTIONS]
OPTIONS 說明:
常用:
-a :顯示所有的容器,包括未運(yùn)行的。
-q :靜默模式,只顯示容器編號(hào)。
不常用:
-f :根據(jù)條件過濾顯示的內(nèi)容。
--format:指定返回值的模板文件。
-l :顯示最近創(chuàng)建的容器。
-n :列出最近創(chuàng)建的n個(gè)容器。
--no-trunc :不截?cái)噍敵觥?br>
-s :顯示總的文件大小。
docker top xxx :查看容器中運(yùn)行的進(jìn)程信息,支持 ps 命令參數(shù)。
進(jìn)入容器
方法一:
docker attach [OPTIONS] CONTAINER :連接到正在運(yùn)行中的容器。
OPTIONS 說明:
--sig-proxy=false:CTRL-D或CTRL-C不會(huì)關(guān)閉容器
方法二:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS 說明:
-d :分離模式: 在后臺(tái)運(yùn)行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個(gè)偽終端
刪除容器
刪除一個(gè)或多少容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS 說明:
-f :通過SIGKILL信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器
-l :移除容器間的網(wǎng)絡(luò)連接,而非容器本身
-v :刪除與容器關(guān)聯(lián)的卷
鏡像
查看鏡像
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS 說明:
-a :列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過濾掉中間映像層);
-q :只顯示鏡像ID。
--digests :顯示鏡像的摘要信息;
-f :顯示滿足條件的鏡像;
--format :指定返回值的模板文件;
--no-trunc :顯示完整的鏡像信息;
拉取鏡像
從鏡像倉庫中拉取或者更新指定鏡像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS 說明:
-a :拉取所有 tagged 鏡像
--disable-content-trust :忽略鏡像的校驗(yàn),默認(rèn)開啟
查找鏡像
docker search [OPTIONS] TERM
OPTIONS 說明:
--automated:只列出 automated build類型的鏡像;
--no-trunc :顯示完整的鏡像描述;
-s :列出收藏?cái)?shù)不小于指定值的鏡像。
構(gòu)建鏡像
使用 Dockerfile 創(chuàng)建鏡像。
docker build [OPTIONS] PATH | URL | -
OPTIONS 說明:
常用:
--tag, -t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)標(biāo)簽。
不常用:
--build-arg=[] :設(shè)置鏡像創(chuàng)建時(shí)的變量;
--cpu-shares :設(shè)置 cpu 使用權(quán)重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配額;
--cpuset-cpus :指定使用的CPU id;
--cpuset-mems :指定使用的內(nèi)存 id;
--disable-content-trust :忽略校驗(yàn),默認(rèn)開啟;
-f :指定要使用的Dockerfile路徑;
--force-rm :設(shè)置鏡像過程中刪除中間容器;
--isolation :使用容器隔離技術(shù);
--label=[] :設(shè)置鏡像使用的元數(shù)據(jù);
-m :設(shè)置內(nèi)存最大值;
--memory-swap :設(shè)置Swap的最大值為內(nèi)存+swap,"-1"表示不限swap;
--no-cache :創(chuàng)建鏡像的過程不使用緩存;
--pull :嘗試去更新鏡像的新版本;
--quiet, -q :安靜模式,成功后只輸出鏡像 ID;
--rm :設(shè)置鏡像成功后刪除中間容器;
--shm-size :設(shè)置/dev/shm的大小,默認(rèn)值是64M;
--ulimit :Ulimit配置。
--network: 默認(rèn) default。在構(gòu)建期間設(shè)置RUN指令的網(wǎng)絡(luò)模式
容器間網(wǎng)絡(luò)
容器間網(wǎng)絡(luò)配置在容器啟動(dòng)的時(shí)候配置
查看容器端口
docker port xxx