昨天學了一些Docker Build的一些基本指令,今天我們來把Day06使用到的MySQL,進行客製化!
Dockerfile 是 Docker Image 的構建腳本,我們會透過 Dockerfile 客製化 MySQL。
mkdir mysql-docker
cd mysql-docker
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
init.sql
這個 SQL 文件會在容器啟動時自動運行。
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
在資料夾中運行以下指令來構建自訂的 MySQL 映像:
docker build -t piyeh-mysql .
使用以下命令啟動自訂的 MySQL 容器:
docker run -d -p 3306:3306 --name piyeh-mysql piyeh-mysql
docker exec
進入 MySQL 容器並驗證自定義的資料庫和表。
docker exec -it piyeh-mysql mysql -uroot -p1234
SHOW DATABASES;