Docker運維常用基礎命令


docker 強調隔離性

docker:官網    中文官網

docker:鏡像官網

Docker 命令大全

 

一、鏡像常用命令(紅色常用)

1、docker images 查看本地鏡像

docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS說明:

  • -a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);

  • -q :只顯示鏡像ID。
  • --digests :顯示鏡像的摘要信息;

  • --no-trunc :顯示完整的鏡像信息; 

  • -f :顯示滿足條件的鏡像;

  • --format :指定返回值的模板文件;

2、docker search : 從Docker Hub查找鏡像

docker search [OPTIONS] TERM

OPTIONS說明:

  • -s :列出收藏數不小於指定值的鏡像。
  • --automated :只列出 automated build類型的鏡像;

  • --no-trunc :顯示完整的鏡像描述;

從Docker Hub查找所有鏡像名包含java,並且收藏數大於10的鏡像

 3、docker pull : 從鏡像倉庫中拉取或者更新指定鏡像

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS說明:

  • -a :拉取所有 tagged 鏡像

  • --disable-content-trust :忽略鏡像的校驗,默認開啟

#docker pull redis等於一下命令,latest是最新的版本,也可以指定某個版本號
docker pull redis:latest

4、docker rmi : 刪除本地一個或多少鏡像。

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS說明:

  • -f :強制刪除;

  • --no-prune :不移除該鏡像的過程鏡像,默認移除;

 

二、容器常用命令

1、docker run :創建一個新的容器並運行一個命令

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

OPTIONS說明:

  • -d: 后台運行容器,並返回容器ID;
  • --name="nginx-lb": 為容器指定一個名稱;
  • -p: 指定端口映射,格式為:主機(宿主)端口:容器端口
  • --volume , -v: 綁定一個卷
  • -i: 以交互模式運行容器,通常與 -t 同時使用;
  • -a stdin: 指定標准輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;

  • -P: 隨機端口映射,容器內部端口隨機映射到主機的高端口

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

  • --dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;

  • --dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;

  • -h "mars": 指定容器的hostname;

  • -e username="ritchie": 設置環境變量;

  • --env-file=[]: 從指定文件讀入環境變量;

  • --env key=value 添加配置變量
  • --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;

  • -m :設置容器使用內存最大值;

  • --net="bridge": 指定容器的網絡連接類型,支持 bridge/host/none/container:<name|id> 四種類型;

  • --link=[]: 添加鏈接到另一個容器;

  • --expose=[]: 開放一個端口或一組端口;

2、docker ps 查看當前運行容器

3、docker exec :在運行的容器中執行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]  

OPTIONS說明:

  • -i :即使沒有附加也保持STDIN 打開
  • -t :分配一個偽終端
  • -d :分離模式: 在后台運行

 4、docker start/stop/restart (docker 啟動、停止、重啟)

  docker kill CONTAINER  強制停止

5、退出容器 exit

6、刪除container

    docker rm 鏡像名稱或者容器id(container)

  批量刪除 docker rm -f | $(docker ps -a -q)和docker ps -a -q | xargs docker rm

7、docker logs : 獲取容器的日志

docker logs [OPTIONS] CONTAINER

OPTIONS說明:

  • -f : 跟蹤日志輸出

  • -t : 顯示時間戳

  • --tail :僅列出最新N條容器日志

  • --since :顯示某個開始時間的所有日志

 8、docker top :查看容器中運行的進程信息,支持 ps 命令參數。

 查看所有運行容器的進程信息。

for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done

9、docker inspect : 獲取容器/鏡像的元數據。

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS說明:

  • -f :指定返回值的模板文件。

  • -s :顯示總的文件大小。

  • --type :為指定類型返回JSON。

查看當前容器分配的ip

10 、docker cp :用於容器與主機之間的數據拷貝。

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS說明:

  • -L :保持源目標中的鏈接

實例

將主機/www/runoob目錄拷貝到容器96f7f14e99ab的/www目錄下。

docker cp /www/runoob 96f7f14e99ab:/www/

將容器96f7f14e99ab的/www目錄拷貝到主機的/tmp目錄中。

docker cp  96f7f14e99ab:/www /tmp/

三、DockerFile

1、docker build 命令用於使用 Dockerfile 創建鏡像。

docker build [OPTIONS] PATH | URL | -

OPTIONS說明:

  • --build-arg=[] :設置鏡像創建時的變量;

  • --cpu-shares :設置 cpu 使用權重;

  • --cpu-period :限制 CPU CFS周期;

  • --cpu-quota :限制 CPU CFS配額;

  • --cpuset-cpus :指定使用的CPU id;

  • --cpuset-mems :指定使用的內存 id;

  • --disable-content-trust :忽略校驗,默認開啟;

  • -f :指定要使用的Dockerfile路徑;

  • --force-rm :設置鏡像過程中刪除中間容器;

  • --isolation :使用容器隔離技術;

  • --label=[] :設置鏡像使用的元數據;

  • -m :設置內存最大值;

  • --memory-swap :設置Swap的最大值為內存+swap,"-1"表示不限swap;

  • --no-cache :創建鏡像的過程不使用緩存;

  • --pull :嘗試去更新鏡像的新版本;

  • --quiet, -q :安靜模式,成功后只輸出鏡像 ID;

  • --rm :設置鏡像成功后刪除中間容器;

  • --shm-size :設置/dev/shm的大小,默認值是64M;

  • --ulimit :Ulimit配置。

  • --tag, -t: 鏡像的名字及標簽,通常 name:tag 或者 name 格式;可以在一次構建中為一個鏡像設置多個標簽。

  • --network: 默認 default。在構建期間設置RUN指令的網絡模式

實例

使用當前目錄的 Dockerfile 創建鏡像,標簽為 runoob/ubuntu:v1。

docker build -t runoob/ubuntu:v1 .

使用URL github.com/creack/docker-firefox 的 Dockerfile 創建鏡像。

docker build github.com/creack/docker-firefox

也可以通過 -f Dockerfile 文件的位置:

$ docker build -f /path/to/a/Dockerfile .

 

 

 

你必須知道的Dockerfile

 

 

四、簡單實戰

 Linux Centos7(Mac) 安裝Docker教程 

Docker(部署常見應用):Docker安裝MySql完整教程、實操 

Docker(部署常見應用):RabbitMQ安裝docker版 /權限管理命令  

Docker(部署常見應用):Docker部署Nginx 

Docker安裝Alibaba Nacos教程(單機)

Docker 安裝 Redis

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM