systemctl start docker
: 啓動 Dockerdocker
systemctl stop docker
: 中止 Dockervim
systemctl restart docker
: 重啓 Dockercentos
systemctl enable docker
: 開機啓動 Dockerbash
docker info
: 查看 Docker 概要信息app
docker --help
:查看 Docker 幫助文檔rest
docker version
: 查看Docker版本信息日誌
一、docker images
or docker image ls
: 列出本機全部鏡像code
options 可選參數orm
可選參數 | 參數描述 |
---|---|
-a | 顯示全部鏡像(包括中間層) |
-q | 只顯示鏡像Id |
-qa | 能夠組合使用 |
--digests | 能夠顯示鏡像的摘要信息 |
--no-trunc | 能夠顯示完整的鏡像信息 |
二、docker search
: 搜索鏡像rabbitmq
options 可選參數
可選參數 | 參數描述 |
---|---|
--no-trunc | 顯示完整的鏡像描述 |
-s | 列出收藏數不小於指定值的鏡像 |
--automated | 只列出Docker Hub自動構建類型的鏡像 |
docker pull
: 拉取鏡像
dockers pull 鏡像名稱 :
注意:不加TAG,默認下載最新版本 latest
三、docker rmi
: 刪除鏡像
刪除單個
docker rmi 鏡像名稱:[TAG] 若是不寫 TAG 則默認刪除最新版 latest
有鏡像生成的容器在運行的時候,會刪除失敗,須要加 -f 強制刪除
[root@iZbp17khuqdfkef3nl1db3Z ~]# docker rmi rabbitmq Error response from daemon: conflict: unable to remove repository reference "rabbitmq" (must force) - container 99693943e972 is using its referenced image 84bc4895f175
docker rmi -f 鏡像名稱1:[TAG] 鏡像名稱2:[TAG] 多個鏡像之間空格隔開
docker run [OPTIONS] image [COMMAND][ARG...]
: 建立並啓動容器
options 可選參數
可選參數 | 參數描述 |
---|---|
--name='容器新名字' | 爲容器指定一個名稱 |
-i | 以交互模式運行容器、一般和 -t 同時使用 |
-t | 爲容器從新分配一個僞輸入終端,一般和 -i 同時使用 |
-d | 後臺運行容器,並返回容器id |
docker run --name 別名 鏡像id
: 啓動普通容器docker run -it --name 別名 鏡像Id
來運行一個容器,取別名,交互模式運行,以及分配一個僞終端 : 啓動交互式容器docker run -di --name 別名 鏡像Id
:以守護式方式建立並啓動容器docker ps [OPTIONS]
: 列出容器
options 可選參數
可選參數 | 參數描述 |
---|---|
-a | 顯示全部容器,包括未運行的 |
-f | 根據條件過濾顯示的內容 |
--format | 指定返回值的模板文件 |
-l | 顯示最近建立的容器 |
-n | 顯示最近建立的 n 個容器 |
--no-trunc | 不截斷輸出 |
-q | 靜默模式,只顯示容器編號 |
-s | 顯示總的文件大小 |
-qa | 列出全部容器id |
exit
:容器中止退出
ctrl + p + q
: 容器不中止退出
docker attach 容器Id or 容器名
: 進入容器
dockr start 容器id or 容器名
: 啓動容器
dockr restart 容器id or 容器名
: 重啓容器
docker stop 容器id or 容器名
:中止容器
docker kill 容器id or 容器名
: 暴力中止,直接殺死進程(不推薦)
docker rm 容器id
: 若是刪除正在運行的容器,會報錯,若是須要刪除,須要強制刪除
docker rm 容器Id -f
: 強制刪除
docker rm -f $(docker ps -qa)
: 刪除全部容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
: docker run :建立一個新的容器並運行一個命令
docker run -i -t -p 宿主機端口:容器應用端口 --name 別名 鏡像id
: Docker 容器與宿主機端口映射
options 可選參數
可選參數 | 參數描述 |
---|---|
-d | 後臺運行容器,並返回容器ID |
-i | 以交互模式運行容器,一般與 -t 同時使用 |
-P(大寫p) | 隨機端口映射,容器內部端口隨機映射到主機的高端口 |
-p(小寫p) | 指定端口映射,格式爲:主機(宿主)端口:容器端口 |
--name | 爲容器指定一個名稱 |
Docker中默認存放鏡像和容器的目錄是:/var/lib/docker/ ,/var下比較容易滿建議遷移。
個人系統是 Centos7,具體解決步驟以下:
中止Docker 服務:
systemctl stop docker; //每一個liunx版本的命令不同。
在空間充足的磁盤下建立新的docker目錄
mkdir -p /data/docker; //在根目錄下新建
遷移/var/lib/docker目錄下面的文件到剛纔新建好的 /data/docker下面
cp -rvf /var/lib/docker/* /data/docker
修改 Docker 配置
vim /etc/systemd/system/docker.service.d/devicemapper.conf
在文件末尾添加:--graph=/data/docker
devicemapper.conf文件的內容以下:
[Service] ExecStart= ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib
注意:若是/etc/systemd/system/docker.service.d/devicemapper.conf,這個路徑找不到的話,就新建,新建以後加入內容,沒有私服地址的話就能夠去掉」--insecure-registry=私服地址」。
重載配置,重啓docker
systemctl daemon-reload; systemctl restart docker; systemctl enable docker;
啓動成功後,肯定容器沒問題後刪除/var/lib/docker/目錄中的文件,而後就OK了。
docker logs
: 獲取容器的日誌
語法 :docker logs [OPTIONS] CONTAINER
options 可選參數
可選參數 | 參數描述 |
---|---|
-f | 跟蹤日誌輸出 |
--since | 顯示某個開始時間的全部日誌 |
-t | 顯示時間戳 |
--tail | 僅列出最新N條容器日誌 |
咱們 在建立容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣咱們就能夠實現宿主機和容器目錄的雙向數據自動同步。
咱們能夠經過容器目錄掛載,可以輕鬆實現代碼上傳、配置修改、日誌同步等需求。
語法 : docker run -i -t -v /宿主機目錄:/容器目錄 鏡像id
多目錄掛載 :docker run -i -t -v /宿主機目錄:/容器目錄 -v/宿主機目錄2:/容器目錄2 鏡像id
注意 :若是同步多級目錄,可能會出現權限不足的提示,只須要添加 --privileged=true 來解決掛載的目錄沒有權限的提示問題。
Docker容器啓動的時候,若是要掛載宿主機的一個目錄,能夠用-v參數指定。
譬如我要啓動一個centos容器,宿主機的/data/hData目錄掛載到容器的/cData目錄,可經過如下方式指定:
docker run -i -t -v /data/hData:/cData 470671670cac
注意點