使用 Dockerfile 建立自己的 Docker image
建立一個新目錄,用於存放Docker專案,其中包含新建的Dockerfile和要執行的程式。
mkdir my-docker-project
cd my-docker-project
在上一步驟建立的目錄中,使用您喜歡的文字編輯器(如 nano、vi/vim 或 vscode)建立一個Dockerfile 的檔案。
# 使用官方Ubuntu 20.04作為基本映像檔
FROM ubuntu:20.04
# 安裝必要的套件
RUN apt-get update && apt-get install -y \
curl \
wget \
&& rm -rf /var/lib/apt/lists/*
# 將工作目錄設定為 /app
WORKDIR /app
# 複製shell script程式到/app目錄中
COPY myscript.sh /app/myscript.sh
# 設定執行權限
RUN chmod +x /app/myscript.sh
# 在容器啟動時執行shell script
CMD ["/bin/bash", "/app/myscript.sh"]
建立新文件myscript.sh放在Dockerfile同一個工作目錄中。
#!/bin/bash
echo "歡迎使用 Dockerfile 創建的映像!"
echo "docker push Docker Hub "
使用當前目錄中的 Dockerfile 建立一個名為 my-image 的映像。
Sudo docker build -t my-image .
備註:my-image 後面的"."表示當前目錄,不可省略。
sudo docker images
sudo docker run --rm -it --name mydocker my-image:latest
將 Docker image 上傳至 Docker Hub
網址:https://hub.docker.com/
在終端中使用以下命令登錄到 Docker 帳戶。將 <YOUR_DOCKERHUB_USERNAME> 和 <YOUR_PASSWORD> 替換為您的 Docker Hub 使用者名稱和密碼。
docker login -u <您的帳號> -p <您的密碼>
sudo docker login -u YOUR_DOCKERHUB_USERNAME -p YOUR_PASSWORD
出現Login Succeeded代表登錄成功
將己經建立的my-image上傳到Docker Hub之前,需要先為它標記一個完整的名稱,包括 Docker Hub 的使用者名稱和Docker Hub 存儲庫(可自定存儲庫名字)和image tag 版本。
docker tag my-image <DOCKERHUB_USERNAME>/<REPOSITORY_NAME>:<TAG>
sudo docker tag my-image DOCKERHUB_USERNAME/REPOSITORY_NAME:latest
現在我們可以將它上傳至 Docker Hub。
sudo docker push DOCKERHUB_USERNAME / REPOSITORY_NAME: TAG
成功上傳後,可以在 Docker Hub 上檢查您的存儲庫,確認image是否存在。