首頁  >  文章  >  運維  >  如何在生產環境中部署Docker

如何在生產環境中部署Docker

PHPz
PHPz原創
2023-04-18 09:48:251037瀏覽

隨著軟體開發和部署的複雜性不斷增加,輕量級容器化技術已成為新的趨勢。 Docker是目前最受歡迎的容器技術之一,它可以為開發者提供更有效率、更快速的工作方式,同時也為企業提供更靈活、更可靠的部署方案。本文將介紹如何在生產環境中部署Docker,幫助您更好地進行應用的容器化管理。

  1. 安裝Docker

在安裝Docker之前,我們需要先管理好伺服器的資源分配與安全性權限。建議使用主流的Linux作業系統如Ubuntu、CentOS,確保伺服器已經安裝最新版的Docker Engine。

安裝Docker非常簡單,只需要幾個步驟:

1) 安裝依賴工具:apt-get update && apt-get install -y apt-transport-https ca-certificates curl software -properties-common。

2) 導入Docker官方的GPG金鑰:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -。

3) 新增Docker倉庫:add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"。

4) 安裝Docker:apt-get update && apt-get install -y docker-ce。

安裝完成後,可以使用docker指令測試Docker是否正常運作。例如執行docker version指令,檢查Docker版本資訊。

  1. 配置Docker

安裝好Docker後,我們需要對其進行一些基本的配置,以確保它可以更好地為我們工作。

目前主流的Docker CLI使用的是Unix域套接字方式進行通訊。預設情況下,將執行docker指令的使用者加入到docker使用者群組中,即可具有與Docker守護程式互動的能力,從而避免使用sudo指令。

在設定Docker時,還需要注意以下幾個面向:

1)更新Docker設定檔

Docker的守護程式會預設讀取/etc/docker/ daemon.json檔案以取得設定資訊。開啟檔案並新增所需的配置,如:

{
"registry-mirrors": ["https://url-of-mirror"],
"max-concurrent-downloads" : 5,
"debug": true,
"log-driver": "syslog",
"log-opts": {
"syslog-address": "tcp://192.168 .0.0:111",
"tag": "prod"
}
}

在其中,registry-mirrors用於配置速度更快的Docker映像加速器源,max- concurrent-downloads用於指定同時下載映像的最大數量,debug與log-driver用於啟用Docker的偵錯日誌,並輸出到syslog日誌檔案中。

2)設定Docker儲存目錄

Docker預設儲存在/var/lib/docker目錄下,可以透過修改Docker的儲存路徑來更好地管理Docker檔案系統儲存和數據卷。使用重定向方式開啟守護程式設定文件,新增以下一行:

{
"data-root": "/mnt/data/docker"
}

#/data /docker/目錄需要先手動創建,根據實際部署情況,選擇合適的儲存路徑。

  1. 建置Docker映像

在Docker中,可以使用Dockerfile檔案定義應用程式的環境及其部署方式。 Dockerfile是一個文字文件,由一系列指令組成,指定如何建置要部署的應用程式的Docker映像。

在編寫Dockerfile檔案的過程中,可以使用FROM、RUN、COPY、EXPOSE、ENV、CMD等指令,建構一個完整的Docker映像:

FROM ubuntu:18.04
RUN mkdir /app
COPY . /app
WORKDIR /app
CMD python app.py

以上Dockerfile腳本以Ubuntu 18.04為基礎映像,建立/app目錄,並將本機程式碼複製到/app目錄中,最後將工作目錄設定為/app,然後執行python app.py腳本。

使用docker build指令建立Docker映像,如下:

##docker build -t myapp:latest .

建議使用version標籤宣告Dockerfile的版本號,例如:FROM ubuntu :18.04 AS build。

    發布Docker映像
建置完成Docker映像後,需要將其發佈到映像倉庫中,以便在任何地方部署應用程式。 Docker Hub是一個公共的Docker映像倉庫,而私人Docker registry可以用來存放私有Docker映像。

將Docker映像推送到映像倉庫需要進行身份驗證,具體方法如下:

#1) 初始化Docker的登入控制台:docker login registry-name。

2)輸入Docker Hub或私有docker registry中使用的使用者名稱和密碼。

3) 發布映像:docker push registry-name/myapp:latest。

現在,我們已經成功地將Docker映像推送到了Docker registry,以備在其他地方使用。

    部署Docker容器
  1. ##使用Docker容器執行Docker映像時,可以使用下列指令:

docker run --name myapp -p 127.0. 0.1:80:80 -d myapp:latest

其中,--name參數指定Docker容器的名稱,-p參數指定容器將綁定到的主機端口,-d參數表示容器在後台運行,myapp:latest是剛才推送到Docker registry的Docker映像。

  1. 管理Docker容器

在將應用程式部署到Docker容器後,需要對其進行管理。可以使用docker ps、docker logs、docker stop、docker rm等指令進行Docker容器的管理。

具體操作方式如下:

1)查看目前正在執行的Docker容器:docker ps -a。

2)查看指定Docker容器的日誌:docker logs myapp。

3)停止指定​​的Docker容器:docker stop myapp。

4)刪除指定的Docker容器:docker rm myapp。

  1. 結語

Docker的部署在生產環境中是一項關鍵的任務。在安裝Docker並配置它的基本運作之後,需要建立Docker映像並將其發佈到Docker registry。最後,使用Docker容器運行應用程序,並對其進行管理和監控。以上是本文對如何在生產環境中部署Docker的詳細介紹,希望對您有幫助。

以上是如何在生產環境中部署Docker的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn