iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
DevOps

從零開始的DevOps猴!系列 第 9

Day09-客製化Docker Image(MySQL)

  • 分享至 

  • xImage
  •  

Day09-客製化Docker Image(MySQL)

製作自己的Dockfile(MySQL)

昨天學了一些Docker Build的一些基本指令,今天我們來把Day06使用到的MySQL,進行客製化!

撰寫 Dockerfile 來客製化 MySQL Image

Dockerfile 是 Docker Image 的構建腳本,我們會透過 Dockerfile 客製化 MySQL。

1. 移至/建立專案資料夾

mkdir mysql-docker
cd mysql-docker

2. 撰寫 Dockerfile

# 使用官方 MySQL 基礎映像
FROM mysql:8.0

# 設定環境變數
ENV MYSQL_ROOT_PASSWORD=rootpassword
ENV MYSQL_DATABASE=custom_db

# 複製本地 SQL 檔案到容器中,當容器啟動時自動運行
COPY ./init.sql /docker-entrypoint-initdb.d/

# 設定 MySQL 服務的埠
EXPOSE 3306

3. 準備初始化 SQL 檔案 init.sql

這個 SQL 文件會在容器啟動時自動運行。

CREATE TABLE IF NOT EXISTS users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL
);

4. 構建 Image

在資料夾中運行以下指令來構建自訂的 MySQL 映像:

docker build -t piyeh-mysql .

5. 運行容器

使用以下命令啟動自訂的 MySQL 容器:

docker run -d -p 3306:3306 --name piyeh-mysql piyeh-mysql

6. 驗證 MySQL 容器

  • 使用 docker exec 進入 MySQL 容器並驗證自定義的資料庫和表。
    docker exec -it piyeh-mysql mysql -uroot -p1234
    SHOW DATABASES;
    

db


上一篇
Day08-客製化Docker Image
下一篇
Day10-客製化Docker Image(Redis)
系列文
從零開始的DevOps猴!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言