# 使用官方的 MySQL 镜像
FROM mysql:5.7
# 设置环境变量,避免在启动时输入密码
ENV MYSQL_ROOT_PASSWORD=rootpassword \
MYSQL_DATABASE=mydatabase \
MYSQL_USER=myuser \
MYSQL_PASSWORD=mypassword
# 将自定义的配置文件复制到容器中(可选)
COPY my.cnf /etc/mysql/conf.d/
# 暴露 MySQL 默认端口
EXPOSE 3306
# 启动 MySQL 服务
CMD ["mysqld"]
FROM mysql:5.7:
ENV:
MYSQL_ROOT_PASSWORD: 设置 root 用户的密码。MYSQL_DATABASE: 创建一个名为 mydatabase 的数据库。MYSQL_USER: 创建一个名为 myuser 的用户。MYSQL_PASSWORD: 设置 myuser 用户的密码。COPY my.cnf /etc/mysql/conf.d/ (可选):
my.cnf,可以将其复制到容器中的 /etc/mysql/conf.d/ 目录下,以便应用自定义配置。EXPOSE 3306:
CMD ["mysqld"]:
mysqld 命令来启动 MySQL 数据库。如果你只是想通过 Docker Compose 来部署 MySQL,可以使用以下 docker-compose.yml 文件:
version: '3.1'
services:
db:
image: mysql:5.7
container_name: mysql_container
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
version: '3.1':
services:
db 的服务,使用 mysql:5.7 镜像。environment:
ports:
volumes:
db_data 来持久化 MySQL 的数据,即使容器停止或删除,数据也不会丢失。上一篇:mysql string转int
下一篇:docker 启动 mysql
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站