1. 程式人生 > 實用技巧 >Docker的基本指令

Docker的基本指令

1、啟動Docker

systemctl start docker

2、停止Docker

systemctl stop docker

3、重啟Docker

systemctl restart docker

4、開機啟動Docker

systemctl enable docker

5、檢視Docker概要資訊

docker info

6、檢視Docker幫助文件

docker --help

7、檢視Docker版本資訊

docker version

Docker映象常用命令

1,docker images 列出本機所有映象

docker images

OPTIONS可選引數:

--no-trunc 顯示完整的映象描述
-s 列出收藏數不小於指定值的映象
--automated 只列出Docker Hub自動構建型別的映象

3,docker pull 下載映象

docker pull 映象名稱:[TAG]

注意:不加TAG,預設下載最新版本latest

4,docker rmi 刪除映象

1,刪除單個:docker rmi 映象名稱:[TAG]

如果不寫TAG,預設刪除最新版本latest

有映象生成的容器再執行時候,會報錯,刪除失敗;

我們需要加 -f 強制刪除

2,刪除多個:docker rmi -f 映象名稱1:[TAG] 映象名稱2:[TAG]

中間空格隔開

3,刪除全部:docker rmi -f $(docker images -qa)

5、Docker推送映象到hub伺服器

步驟一:

https://hub.docker.com/ 註冊下 得到docker id和密碼

步驟二:

我們用docker login登陸hub伺服器

步驟三:

docker push推送

docker push java1234/tomcat7:1.1

推送成功:

登陸 https://hub.docker.com/ 點選 Repositories 選單

Docker建立並啟動容器


1、docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

--name="容器新名字":為容器指定一個名稱;

-i:以互動模式執行容器,通常與-t或者-d同時使用;

-t:為容器重新分配一個偽輸入終端,通常與-i同時使用;

-d: 後臺執行容器,並返回容器ID;

-P: 隨機埠對映,容器內部埠隨機對映到主機的埠

-p: 指定埠對映,格式為:主機(宿主)埠:容器埠

啟動普通容器: docker run --name 別名 映象ID

啟動互動式容器: docker run -it --name 別名 映象ID 來執行一個容器,取別名,互動模式執行,以及分配一個偽終端

守護式方式建立並啟動容器

docker run -di --name 別名 映象ID

執行完命令後,終端依然再宿主機上;

啟動容器,並執行/bin/bash命令;

docker run -it --name 別名 映象ID /bin/bash命令

埠對映;

docker run -it -p 8888:8080 tomcat

docker run -it -P tomcat

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean(基於docter下安裝jenkins)

Docker列出容器

docker ps [OPTIONS]

OPTIONS說明:

-a :顯示所有的容器,包括未執行的。

-f :根據條件過濾顯示的內容。

--format :指定返回值的模板檔案。

-l :顯示最近建立的容器。

-n :列出最近建立的n個容器。

--no-trunc :不截斷輸出。

-q :靜默模式,只顯示容器編號。

-s :顯示總的檔案大小。

docker ps 檢視正在執行的容器

docker ps -a 檢視所有容器

docker ps -n 2 顯示最近建立的2個容器

docker ps -f status=exited 檢視停止的容器

Docker退出容器

exit 容器停止退出

ctrl+P+Q 容器不停止退出

Docker進入容器

docker attach 容器ID or 容器名 
docker exec -ti 容器ID /bin/bash

Docker啟動容器:docker start 容器ID or 容器名

Docker重啟容器: docker restart 容器ID or 容器名

Docker停止容器:

docker stop 容器ID or 容器名

docker kill 容器ID or 容器名

Docker刪除容器

docker rm 容器ID

強制刪除docker rm -f 容器ID

刪除多個容器

docker rm -f 容器ID1 容器ID2 中間空格隔開

刪除所有容器

docker rm -f $(docker ps -qa)


Docker宿主機和容器之間檔案拷貝 docker copy

宿主機檔案 copy to 容器內

docker cp 需要拷貝的檔案或者目錄 容器名稱:容器目錄

容器內 copy to 宿主機

docker cp 容器名稱:容器目錄 宿主機目錄

Docker 檢視容器日誌docker logs

$ docker logs [OPTIONS] CONTAINER

Options:

--details 顯示更多的資訊

-f, --follow 跟蹤實時日誌

--since string 顯示自某個timestamp之後的日誌,或相對時間,如42m(即42分鐘)

--tail string 從日誌末尾顯示多少行日誌, 預設是all

-t, --timestamps 顯示時間戳

--until string 顯示自某個timestamp之前的日誌,或相對時間,如42m(即42分鐘)

(以上了解)

鋒哥推薦,簡單粗糙方式,直接去docker容器檔案裡找;

具體未知:/var/lib/docker/containers/

每個容器對應一堆檔案,然後有個log結尾的,就是日誌檔案;

我們開啟;

很直觀 假如時間長了 日誌檔案很大,直接自己操刀處理即可;

Docker檢視容器程序: docker top 容器ID

Docker提交執行時容器成為映象docker commit

docker commit -a='作者' -m='備註' 執行時容器ID 新映象名稱

Docker推送映象到阿里雲

很多時候,中小公司為了方便搭建私有倉庫方便,直接使用穩定的阿里雲映象倉庫,方便公司內部業務系統直接拉取映象;

步驟一:

進入:https://cr.console.aliyun.com 阿里雲映象控制檯 需要註冊 使用者名稱就是你的淘寶或者支付寶 賬號名稱 ,映象控制檯密碼單獨設定;

步驟二:

進入控制檯,我們先建立名稱空間,再建立映象;

然後我們可以根據阿里雲官方提示說明來進行映象遠端登入,提交,以及拉取操作,簡單易用;

很多時候,中小公司為了方便搭建私有倉庫方便,直接使用穩定的阿里雲映象倉庫,方便公司內部業務系統直接拉取映象;

步驟一:

進入:https://cr.console.aliyun.com 阿里雲映象控制檯 需要註冊 使用者名稱就是你的淘寶或者支付寶 賬號名稱 ,映象控制檯密碼單獨設定;

步驟二:

進入控制檯,我們先建立名稱空間,再建立映象;

然後我們可以根據阿里雲官方提示說明來進行映象遠端登入,提交,以及拉取操作,簡單易用;

Docker容器目錄掛載

簡介:

容器目錄掛載:

我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以實現宿主機和容器目錄的雙向自動同步;

作用:

  前面學過cp命令來實現資料傳遞,這種方式比較麻煩;

  我們通過容器目錄掛載,能夠輕鬆實現程式碼上傳,配置修改,日誌同步等需求;

實現:

語法:

  docker run -it -v /宿主機目錄:/容器目錄 映象名

多目錄掛載

  docker run -it -v /宿主機目錄:/容器目錄 -v /宿主機目錄2:/容器目錄2 映象名

注意:

  如果你同步的是多級目錄,可能會出現許可權不足的提示;

  這是因為Centos7中的安全模組selinux把許可權禁掉了,我們需要新增 --privileged=true 來解決掛載的目錄沒有許可權的問題;

掛載目錄只讀:

  docker run -it -v /宿主機目錄:/容器目錄:ro 映象名