Docker常用命令就該這麼學!

2020-12-11 騰訊網

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發布到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。Docker 是一個用於開發,交付和運行應用程式的開放平臺。Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。

藉助 Docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產環境中運行代碼之間的延遲。Docker解決開發和生產環境不一致的問題、多用戶操作Linux系統相互影響的問題、用戶量暴增導致運維成本過高的問題、安裝軟體成本高等問題。

一、下載、安裝、測試Docker

1.1:下載Docker的依賴環境:

yum -y install yum-utils device-mapper-persistent-data lvm2

1.2:設置下載Docker 的鏡像源:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3:安裝Docker

(1)yum makecache fast

(2)yum -y install docker-ce

1.4:啟動並設置為開機自動啟動,測試

(1)啟動Docker服務:systemctl start docker

(2)設置開機自動啟動:systemctl enable docker

(3)測試:docker run hello-world

二、Docker容器的操作

2.1:運行容器:docker run 鏡像的標識 | 鏡像名稱 [:tag]

(1)docker run -d -p 宿主機埠:容器埠 --name 容器名稱 鏡像的標識 | 鏡像名稱 [:tag]

-d:後臺運行容器

-p:宿主機埠:容器埠為了映射當前Linux和容器的埠

--name:指定容器的名稱

2.2:查看正在運行的容器:docker ps [-qa]

(1)-a:查看包括沒有運行的全部容器

(2)-q:只查看容器得到標識

2.3:查看容器的日誌:docker logs -f 容器id

(1)-f:滾動查看日誌的最後幾行

2.4:進入到容器內部:docker exec -it 容器id bash (execute)

2.5:刪除容器:docker rm 容器id(刪除容器前需要停止容器)

(1)停止指定的容器:docker stop 容器id

(2)停止全部的容器:docker stop $(docker ps -qa)

(3)刪除指定的容器:docker rm 容器id

(4)刪除全部的容器:docker rm $(docker ps -qa)

2.6:啟動容器:docker start 容器id

三、Docker的中央倉庫、鏡像操作

3.1:Docker官方的中央倉庫,鏡像最全,下載速度較慢。

3.2:國內鏡像網站:網易蜂巢、daoCloud。

3.3:公司內部採取私服的方式拉取鏡像。

3.4:鏡像的操作:docker pull 鏡像名稱 [:tag]

(1)docker pull daocloud.io/library/tomcat:8.5.16-jre8

3.5:查看全部本地的鏡像:docker images

3.6:刪除本地鏡像:docker rmi 鏡像的標識(IMAGE ID)

3.7:鏡像的導入導出(不規範):

(1)將本地的鏡像導出:docker save -o 導出的路徑 鏡像id

(2)加載本地的鏡像文件:docker load -i 鏡像文件

(3)修改鏡像名稱:docker tag 鏡像id 新鏡像名稱:版本

3.8:創建一個Dockerfile文件,指定自定義鏡像信息。

3.9:Dockerfile文件中常用的內容:

(1)from:指定當前自定義鏡像依賴的環境

(2)copy:將相對路徑下的內容複製到自定義鏡像中

(3)workdir:聲明鏡像的默認工作目錄

(4)cmd:需要執行的命令

3.10:將Dockerfile和相應文件拖拽到Linu系統中,通過Docker命令製作鏡像:docker build -t 鏡像名稱 [:tag]

四、數據卷的使用

4.1:為部署SSM工程,使用cp命令將宿主機內的ssm.war複製到容器內部使用。不推薦在容器內部文件進行修改操作。

4.2:數據卷:將宿主機的目錄映射到容器的一個目錄中。

4.3:在宿主機中操作目錄內容,容器內映射的文件也隨之改變。

4.4:創建數據卷:docker volume create 數據卷名稱

(1)創建數據卷之後,默認目錄存放在 /var/lib/docker/volumes/數據卷名稱/_data

4.5:查看數據卷的詳細信息:docker volume inspect 數據卷名稱

4.6:查看全部數據卷:docker volume ls

4.7:刪除數據卷:docker volume rm 數據卷名稱

4.8:應用數據卷

(1)當映射的數據卷不存在時,Docker會自動創建:docker run -v 數據卷名稱:容器內部的路徑 鏡像id。

(2)指定一個路徑作為數據卷的存放位置:docker run -v 路徑:容器內部的路徑 鏡像id。

相關焦點

  • 雲計算核心技術Docker教程:Docker Compose的restart和rm命令詳解
    Docker-Compose restart命令可以重新啟動所有已停止並正在運行的服務,Docker-Compose rm命令可以刪除已經停止的容器,如果服務在運行,需要先docker-compose stop 停止容器。
  • jenkins 容器版安裝docker命令
    jenkins容器版裡docker自動安裝一直沒有成功,也可能是網絡原因,只能手動安裝docker命令,不然無法build和push。由於docker容器內的進程是以普通用戶啟動的,所以進入容器要指定root,不然無法安裝程序。
  • 雲計算核心技術Docker教程:rm/rmi命令詳解
    在docker客戶端命令行中我們可以使用rm刪除一個或多個容器,使用rmi刪除本地一個或多少鏡像。示例:docker rm :刪除一個或多個容器。例如,強制刪除容器 db01、db02,命令如下:$ docker rm -f db01 db02移除容器 nginx01 對容器 db01 的連接,連接名 db:$ docker rm -l db刪除容器
  • Docker 入門教程
    Docker 的官方倉庫 Docker Hub 是最重要、最常用的 image 倉庫。此外,出售自己製作的 image 文件也是可以的。注意,指定了CMD命令以後,docker container run命令就不能附加命令了(比如前面的/bin/bash),否則它會覆蓋CMD命令。現在,啟動容器可以使用下面的命令。
  • 使用Docker和Docker Compose改善Node.js的開發
    然後,運行以下命令以啟動應用程式: 如果沒有異常,應該會到一條類似的消息。 上面的命令非常簡單:它運行一個環境變量DEBUG=nodejs-docker-express,用來表示伺服器進行詳細的調試。
  • docker下高並發和高可用之docker swarm使用
    ,操作步驟參考Linux下安裝和使用Docker安裝完,使用命令sudo systemctl start docker啟動docker,再通過命令docker version查看docker版本信息利用docker swarm 命令來指定其中一臺虛擬機為docker的Manager管理機docker swarm init --advertise-addr
  • 用Jenkins、Docker部署 Serverless
    Jenkins 有多種運行方式:jenkins.war + Tomcatjava -jar jenkins.war各種 linux 作業系統分發包(例如:rpm 包)DockerKubernetes雲廠商提供的解決方案……筆者這裡使用 Docker 運行 Jenkins,因為構建步驟也會運行在 Docker 中,需要將 docker.sock 和 docker 命令掛載到容器中
  • 30分鐘帶你了解Web工程師必知的Docker知識
    3.docker 基本使用3.1 docker命令介紹docker所有命令可閱讀使用docker 命令行並可通過docker --help 查詢用法docker --helpUsage: docker [OPTIONS
  • 快速把你拉入Docker 的門裡|原力計劃
    COPY target/demo.jar /demo.jar# 運行程序執行的命令,相當於在命令窗口中執行 java -jar demo.jarENTRYPOINT ["java", "-jar", "/demo.jar"]第七步:在 demo項目中創建構建鏡像的腳本 build.sh,具體內容如下:
  • NET微服務在Docker下打包部署及運行
    ,運行以下命令docker --version命令執行,並顯一些版本信息,說明Docker安裝成功五、添加Docker元數據要運行Docker鏡像,我們需要一個Dockerfile六、創建Docker鏡像使用cmd命令提示符運行以下命令docker build -t microservice .
  • 手把手教你利用Docker+jenkins部署你的網站
    伺服器安裝jdk以及maven準備好jdk的包和maven包上傳到伺服器的指定目錄如/root/envitar -zxvf 包名 即可並用mv命令重命名為:${JAVA_HOME}/lib:${JRE_HOME}/libENV PATH ${JAVA_HOME}/bin:$PATH運行命令構建鏡像docker build -t myjava:8 .
  • 通過Docker安裝谷歌足球遊戲環境
    簡單來說,谷歌提供了包含安裝足球環境所需的必要環境在一個Docker配置文件中,安裝好Docker後,一條命令就可以創建包含足球環境的整套配置的Docker容器。通過容器可以直接進入安裝好足球環境的「虛擬」系統中。
  • SpringBoot+GitLab+Docker+Jenkins實現持續集成上
    /linux/centos/docker-ce.repo]mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[/url](4)安裝dockersudo yum install docker-ce(5)安裝後查看docker
  • 雲計算核心技術Docker教程:Docker多階段構建
    請注意,此示例還RUN使用Bash&&運算符將兩個命令人工壓縮在一起,以避免在鏡像中創建額外的圖層。這是容易失敗的並且難以維護。/bin/shecho Building alexellis2/href-counter:builddocker build --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy \-t alexellis2/href-counter:build .
  • 「Mysql」資料庫主從搭建-基於docker
    主從搭建的世界 :)通過Docker搭建主從伺服器首先我們需要拉取docker鏡像,我們使用5.7版本的MySQL:docker pull mysql:5.7然後使用此鏡像啟動容器,這裡需要分別啟動主從兩個容器創建Master(主資料庫):docker run
  • 雲計算核心技術Docker教程:更改默認IP位址
    來源:TechWeb.com.cndocker在安裝後會默認創建三種網絡類型,分別是bridge橋接網絡,none無指定網絡和host主機網絡,在默認情況下啟動Docker容器使用的是橋接網絡,並且使用網絡IP段是172.17.0.1/24,
  • 不用Docker也能構建容器的4種方法
    有了 buildkit,所有的基礎鏡像都可以一次性被拉取到本地庫中,因為 FROM(下載)命令不是按順序執行的。faas-cli build通常會運行或分叉出 docker,因為這個命令實際上只是一個包裝器。
  • linux常用命令總結
    Linux常用命令查詢一文件目錄操作二 查看文件內容三 文本內容處理命令只有命令,沒有菜單。《大碗》編輯器版周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什麼插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這麼牛X的一東西,怎麼著學會也得小半年吧。半年!?入門都遠著呢!
  • Linux yum命令是什麼 yum語法及常用命令匯總
    Linux yum命令是什麼 yum語法及常用命令匯總 Linux中的yum命令是大家經常用到的功能,全稱是
  • Docker+jenkins小知識,講解通俗易懂,有必要收藏
    有些人可能會想,持續構建很熟悉基本上也就是基於jenkins,沒錯jenkins確實是目前持續集成中最為流程也比較常見的一種解決方案,不過我們今天並不是僅僅單純地講jenkins,而是想再引入另外一個比較新穎也比較火的概念,也就是docker,對於熱點概念比較熟悉的朋友對docker並不陌生,這幾乎是近期最熱點的一門技術之一。