日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Docker容器操作方法詳解_docker

作者:Gauss松鼠會 ? 更新時間: 2022-10-07 編程語言

一、常用命令

下面按照使用容器中的流程: 創建并啟動容器 > 查詢容器 > 進入容器 > 退出容器 > 停止容器 > 啟動/重啟容器 > 刪除容器來介紹Dockers常用命令,帶領小伙伴快速入門。

1.創建并啟動容器

docer run

當操作者執行docker run時,運行的容器進程是隔離的,因為它有自己的文件系統,自己的網絡,以及自己與主機分離的隔離進程樹。

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

docker run命令必須指定一個IMAGE來派生容器。image開發人員可以定義與以下相關的默認值:

?分離或前臺運行

?容器識別

?網絡設置

?CPU 和內存的運行時限制

使用docker run [OPTIONS]操作人以添加或覆蓋開發人員設置的image默認值。操作人可以修改image和 Docker 運行時超多參數,–help的時候你會發現列表超長。

以openGauss啟動示例:

docker run --name wodexiaoguaiguai --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /enmotech/opengauss:/var/lib/opengauss -p 15432:5432  enmotech/opengauss:3.0.0

--name 表示為啟動的容器起個名字,這個名字在宿主機上唯一。所以有時候,容器停止后再用相同的命令啟動就會報錯,XXX is already in use by container。解決辦法參考《使用Docker部署openGauss》的Q&A。

--privileged 表示是否使用特權模式,設置–privileged=true提升系統執行權限。設置為true后,容器內的root用戶才是真正的root權限,否則只是一個普通用戶。

-d 表示要以分離模式(也就是后臺模式)啟動容器,這樣執行后會返回容器ID,不會進入交互界面。如果想要進入交互界面需要-i 和-t參數。

-e 表示要設置環境變量,多個環境變量就多個 -e ,至于需要什么環境變量就跟鏡像息息相關了。

-v 由于容器自身揮一揮衣袖不帶走一片云彩的特點,這個參數表示綁定一個卷,實現數據的持久化,冒號前面表示宿主機的目錄,后面是容器內目錄。目錄不存在會自動生成。

-p 端口映射,示例中將宿主機上的15432端口映射到容器的5432端口。還有一種映射參數是大寫的P,-P表示容器內部端口隨機映射到主機的端口。

最后的enmotech/opengauss:3.0.0表示使用的鏡像名稱。

2.列出所有容器

docker ps -a

使用docker ps可以查出當前運行(STATUSUP)的容器。而docker ps -a可以查出所有的容器,包括Exited狀態的容器,a 表示all的意思。示例:

[root@pekphisprb70593 software]# docker ps 
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS      PORTS                                                 NAMES 
828cc4491684   enmotech/opengauss:latest   "entrypoint.sh -M st…"   7 days ago   Up 7 days   5432/tcp, 0.0.0.0:6432->6432/tcp, :::6432->6432/tcp   opengauss_slave1 
7213afbe01df   enmotech/opengauss:latest   "entrypoint.sh -M pr…"   7 days ago   Up 7 days   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp             opengauss_master

這里第一列的CONTAINER ID就是容器ID,最后一列的NAME就是docker run時指定的容器名稱。后面會用到。

還可以使用-q 參數只獲取容器ID,看起來清爽許多。

[root@pekphisprb70593 software]# docker ps -a -q 
828cc4491684 
7213afbe01df

3.進入容器

docker exec -it 容器名稱/ID /bin/bash

容器-d 模式啟動后,需要登錄容器才能在其中進行操作。docker exec適用于在現有容器中運行命令的情況。此時需要進行交互,所以需要加上熟悉的 -it。

docker exec -it 828cc4491684 /bin/bash

docker exec -it opengauss_master /bin/bash

4.退出容器

exit

做完想做的事情后,退出容器就是很通用的 exit。

5.停止容器

docker stop 容器名稱/ID

需要停止容器的時候可以通過該命令完成,指定容器ID或容器名稱都可。

停止單個容器

docker stop opengauss_master

停止所有容器

docker stop $(docker ps -a -q)

6.啟動/重啟一個已停止的容器

docker start/restart 容器名稱/ID

這種啟動適用于之前已經通過docker run創建好容器的場景。用法和stop 類似,都比較簡單。示例

docker start 828cc4491684

7.刪除容器

docker rm 容器名稱/ID

容器用完后就需要刪除釋放資源。

刪除單個容器

docker rm opengauss_master

刪除所有容器

docker rm $(docker ps -a -q)

二、使用幫助

Docker有大量的命令,大概有40+,很難把所有的都記住。

一般我們只需要記住常用的一些,對于其他可以運行Docker --help。

[root@pekphisprb70593 software]# docker --help 

Docker 1.13+引入了子命令來幫助管理原來大量的Docker命令。兩種方式只是組織方式不同,執行功能相同。在幫助文本中,我們可以看到Management Commands(管理命令)和Commands(命令),通過管理命令對所有命令進行分類,更有助于Docker命令的使用。

例如,查詢所有容器可以使用docker ps ,也可使用新的子命令docker container ls。兩者執行效果相同,同樣,docker image ls也可以替代docker images。如圖:

對于單獨的命令,我們還可以使用docker [command] --help進行查詢幫助。例如:

[root@pekphisprb70593 software]# docker pull --help 
Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST] 
Pull an image or a repository from a registry 
Options: 
  -a, --all-tags                Download all tagged images in the repository 
      --disable-content-trust   Skip image verification (default true) 
      --platform string         Set platform if server is multi-platform capable 
  -q, --quiet                   Suppress verbose output 

openGauss: 一款高性能、高安全、高可靠的企業級開源關系型數據庫。

原文鏈接:https://blog.csdn.net/GaussDB/article/details/126248231

欄目分類
最近更新