Docker(Mysql)将数据库表封装进容器内

2024-01-09 14:32:46

1、使用mysqldump命令,导出SQL文件:

# dbName为待导出的数据库名称
mysqldump -h localhost -u root -p dbName --add-drop-table >./dump.sql

2、构建镜像

2.1、编写Dockerflie文件

vim Dockerfile

Dockerfile 内容如下:

# 依赖的原始镜像,需要根据当前服务需要修改
FROM mysql:5.7
# 指定数据库名称
ENV MYSQL_DATABASE dbName
# 注意,这里必须使用mysqldump命令导出的SQL文件,否则无法读取
COPY ./dump.sql /docker-entrypoint-initdb.d/1-db.sql

使用docker build命令生成新的镜像

# db为生成镜像的名称,1.0为手动指定的版本号
docker build -t db:1.0 .

3、使用新构建的镜像部署数据库

# --security-opt="seccomp=unconfined" 参数为必须参数
docker run -d --restart=always --user=root --privileged=true \
 -e MYSQL_ROOT_PASSWORD=123456 \
 --security-opt="seccomp=unconfined" \
 -p 3306:3306 \
 --name dbServer db:1.0

文章来源:https://blog.csdn.net/weixin_43880119/article/details/135478504
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。