Docker 的打包及基本使用

Docker 的打包及基本使用

Docker 的打包是將應用程序及其依賴項封裝到一個容器中,以便在任何支持 Docker 的環境中運行。

本教程將詳細介紹如何通過 Dockerfile 打包應用程序,并基本使用 Docker 容器。

Docker 打包

創建 Dockerfile

Dockerfile 是一個文本文件,包含了一系列指令,用于自動化構建 Docker 鏡像。

以下是一個典型的 Dockerfile 示例:

# 使用 Python 3.9 作為基礎鏡像
FROM python:3.9-slim

# 設置工作目錄
WORKDIR /app

# 復制依賴文件
COPY requirements.txt .

# 安裝依賴
RUN pip install --no-cache-dir -r requirements.txt

# 復制應用程序代碼
COPY . .

# 暴露端口
EXPOSE 8000

# 設置啟動命令
CMD ["python3", "app.py"]

關鍵指令說明:

  • FROM:指定基礎鏡像。
  • ENV:設置環境變量。
  • RUN:執行命令(例如安裝依賴)。
  • WORKDIR:設置工作目錄。
  • COPY:將文件從主機復制到容器中。
  • EXPOSE:暴露容器端口。
  • CMD:設置容器啟動時執行的命令。

構建 Docker 鏡像

Dockerfile 所在目錄下創建requirements.txtapp.py

app.py內容如下:

from flask import Flask

# 創建 Flask 應用
app = Flask(__name__)

# 定義路由
@app.route('/')
def hello():
    return "Hello, Docker!"

# 啟動應用
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

requirements.txt 內容如下:

Flask==2.3.2

并運行以下命令構建鏡像

docker build -t my-app .
  • -t my-app:為鏡像指定一個名稱(標簽)。
  • .:指定 Dockerfile 所在的目錄(當前目錄)。

驗證鏡像

構建完成后,可以通過以下命令查看本地鏡像:

docker images

如果看到 my-app 鏡像,說明構建成功。

Docker 基本使用

運行容器

使用構建的鏡像運行容器:

docker run -d -p 8000:8000 --name my-app-container my-app
  • -d:以守護進程模式運行容器。
  • -p 8000:8000:將主機的 8000 端口映射到容器的 8000 端口。
  • --name my-app-container:為容器指定一個名稱。
  • my-app:使用的鏡像名稱。

查看容器日志

查看容器的日志輸出:

docker logs my-app-container

進入容器

如果需要進入容器進行調試,可以使用以下命令:

docker exec -it my-app-container /bin/bash

停止和刪除容器

停止容器:

docker stop my-app-container

刪除容器:

docker rm my-app-container

總結

通過本教程,你已經學會了如何使用 Dockerfile 打包應用程序,并使用 Docker 容器。

Docker 的打包和使用是現代化應用部署的核心技能,掌握這些知識可以幫助你更高效地管理和運行應用。

– 歡迎點贊、關注、轉發、收藏【我碼玄黃】,各大平臺同名。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容