本文為轉(zhuǎn)載,原文: Docker常用命令
[TOC]
Docker介紹
Docker 是一個(gè)開源的應(yīng)用容器引擎俱饿,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上塌忽,也可以實(shí)現(xiàn)虛擬化拍埠。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口土居。
命令
容器生命周期管理
docker run
創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
語法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明
-d, --detach
指定容器運(yùn)行于前臺(tái)還是后臺(tái)枣购,默認(rèn)為false-i, --interactive
打開STDIN嬉探,用于控制臺(tái)交互-t, --tty
分配tty設(shè)備,該可以支持終端登錄棉圈,默認(rèn)為false-u, --user
指定容器的用戶-a, --attach
登錄容器(必須是以docker run -d啟動(dòng)的容器)-w, --workdir
指定容器的工作目錄-c, --cpu-shares
設(shè)置容器CPU權(quán)重涩堤,在CPU共享場(chǎng)景使用-e, --env
指定環(huán)境變量,容器中可以使用該環(huán)境變量-m, --memory
指定容器的內(nèi)存上限-P, --publish-all
指定容器暴露的端口-p, --publish
指定容器暴露的端口
eg: -p 8080:80, --publish 8080:80
-
-h, --hostname
指定容器的主機(jī)名
eg: -h gitlab.chain.cn, --hostname gitlab.chain.cn
-
-v, --volume
給容器掛載存儲(chǔ)卷分瘾,掛載到容器的某個(gè)目錄
eg: -v v /Users/zhangzc/gitlab-runner/config:/etc/gitlab-runner
--volume /Users/zhangzc/gitlab-runner/config:/etc/gitlab-runner
-
--name
指定容器名字胎围,后續(xù)可以通過名字進(jìn)行容器管理,links特性需要使用名字
eg: --name gitlab-ce
--net
容器網(wǎng)絡(luò)設(shè)置(bridge
: 使用docker daemon指定的網(wǎng)橋;host
: 容器使用主機(jī)的網(wǎng)絡(luò);container:NAME_or_ID
: 使用其他容器的網(wǎng)路德召,共享IP和PORT等網(wǎng)絡(luò)資源;none
: 容器使用自己的網(wǎng)絡(luò)(類似--net=bridge)白魂,但是不進(jìn)行配置)--rm
指定容器停止后自動(dòng)刪除容器(不支持以docker run -d啟動(dòng)的容器)
docker start
啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器
語法
docker start [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
dcoker start gitlab
docker stop
停止一個(gè)運(yùn)行中的容器
語法
docker stop [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
docker stop gitlab
docker restart
重啟容器
語法
docker restart [OPTIONS] CONTAINER [CONTAINER...]
實(shí)例
docker restart gitlab
docker rm
刪除一個(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)的卷
實(shí)例
docker rm gitlab
docker exec
在運(yùn)行的容器中執(zhí)行命令
語法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明
-d
: 分離模式: 在后臺(tái)運(yùn)行-i
: 即使沒有附加也保持STDIN 打開-t
: 分配一個(gè)偽終端
實(shí)例
docker exec -it gitlab bash
容器操作
docker logs
獲取容器的日志
語法
docker logs [OPTIONS] CONTAINER
OPTIONS說明
-f
: 跟蹤日志輸出--since
: 顯示某個(gè)開始時(shí)間的所有日志-t
: 顯示時(shí)間戳--tail
: 僅列出最新N條容器日志
實(shí)例
docker logs -f gitlab
docker inspect
獲取容器/鏡像的元數(shù)據(jù)上岗。
語法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS說明
-f
: 指定返回值的模板文件福荸。-s
: 顯示總的文件大小。--type
: 為指定類型返回JSON肴掷。
實(shí)例
docker inspect gitlab
鏡像倉庫
docker pull
從鏡像倉庫中拉取或者更新指定鏡像
語法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS說明
-a
: 拉取所有 tagged 鏡像--disable-content-trust
: 忽略鏡像的校驗(yàn),默認(rèn)開啟
實(shí)例
docker pull gitlab/gitlab-ce
docker push
將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
語法
docker push [OPTIONS] NAME[:TAG]
OPTIONS說明
-
--disable-content-trust
: 忽略鏡像的校驗(yàn),默認(rèn)開啟
實(shí)例
docker push gitlab/gitlab-ce:chain
docker search
從Docker Hub查找鏡像
語法
docker search [OPTIONS] TERM
OPTIONS說明
--automated
: 只列出 automated build類型的鏡像敬锐;--no-trunc
: 顯示完整的鏡像描述;-s
: 列出收藏?cái)?shù)不小于指定值的鏡像呆瞻。
實(shí)例
docker search gitlab
本地鏡像管理
docker load
從.tar存檔或STDIN加載鏡像
語法
docker load [OPTIONS]
OPTIONS說明
--input , -i
: 從.tar存檔文件讀取--quiet , -q
: 禁止加載輸出
實(shí)例
docker load -i gitlab-ce.tar
docker save
將指定鏡像保存成 tar 歸檔文
語法
docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS說明
-
--output , -o
: 輸出到的文件台夺。
實(shí)例
docker save -o gitlab-ce.tar gitlab/gitlab-ce:latest
docker tag
標(biāo)記本地鏡像,將其歸入某一倉庫
語法
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
實(shí)例
docker tag gitlab/gitlab-ce:latest gitlab/gitlab-ce:old
docker build
使用Dockerfile創(chuàng)建鏡像
語法
docker build [OPTIONS] PATH | URL | -
OPTIONS說明
-
--file , -f
: 指定要使用的Dockerfile路徑痴脾,如果不使用-f谒养,則默認(rèn)將上下文路徑下的名為Dockerfile的文件認(rèn)為是構(gòu)建鏡像的"Dockerfile" -
--tag , -t
: 指定鏡像名稱和tag -
PATH | URL
: 指定構(gòu)建鏡像的上下文的路徑,構(gòu)建鏡像的過程中明郭,可以且只可以引用上下文中的任何文件。
現(xiàn)在讓我們?cè)诳纯?code>docker build -t myimage .這條命令丰泊,在這條命令中薯定,使用-t
指定了鏡像名為myimage,由于沒有使用-f指令瞳购,所以默認(rèn)使用上下文路徑下名為Dockerfile的文件認(rèn)為是構(gòu)建鏡像的Dockerfile
话侄。最后指定上下文路徑,在這條命令中学赛,上下文路徑是.
年堆。(小數(shù)點(diǎn).
代表著當(dāng)前目錄)
實(shí)例
docker build -t runoob/ubuntu:v1 .
其他
完
轉(zhuǎn)載請(qǐng)注明出處:
Docker常用命令