自定义 Dockerfile 示例

2022-06-23  本文已影响0人  hemiao3000

我们编写自己的Dockerfile来实现我们的需求,这里以 Mysql:5.7 为例。不同的版本可能有一定的出入,需要详细去阅读官方文档。脚本如下:

FROM mysql:5.7
LABEL OG=felord.cn
COPY utf8mb4.cnf /etc/mysql/conf.d/utf8mb4.cnf
COPY ./sql  /tmp/sql
RUN mv /tmp/sql/*.sql /docker-entrypoint-initdb.d
RUN rm -rf /tmp/sql

然后你可以通过构建镜像命令构建自定义的Mysql镜像:

# 一定不要忘记最后的一个 . 点
docker build -t mysql:5.7c .

通过 mysql:5.7c 镜像启动一个名称为 mysql-service 的容器,root 密码为 123456,并持久化数据到宿主机 D:/mysql/data 下:

docker run -d --rm --name mysql-service \
  -v d:/mysql/data:/var/lib/mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_ROOT_HOST=% \
  mysql:5.7c

小贴士:你可以通过 SHOW VARIABLES LIKE 'character%' 查看字符集是否更改为utf8mb4,也可以通过SHOW VARIABLES LIKE '%time_zone%' 查看时区是否是东八区。

上一篇 下一篇

猜你喜欢

热点阅读