拉取MySQL官方镜像
docker pull mysql:latest
或指定版本:
docker pull mysql:8.0
运行MySQL容器
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
替换:
some-mysql
:你想要的容器名称my-secret-pw
:root用户的密码tag
:MySQL版本标签(如8.0)可选参数
bash
-p 3306:3306
bash
-v /my/own/datadir:/var/lib/mysql
bash
-v /my/custom:/etc/mysql/conf.d
完整示例
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -v /data/mysql:/var/lib/mysql -d mysql:8.0
创建Dockerfile
FROM ubuntu:20.04
RUN apt-get update && \
apt-get install -y mysql-server && \
rm -rf /var/lib/apt/lists/*
EXPOSE 3306
CMD ["mysqld"]
构建镜像
docker build -t my-custom-mysql .
运行容器
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -d my-custom-mysql
进入容器内部
docker exec -it some-mysql mysql -uroot -p
从外部连接
mysql -h 127.0.0.1 -P 3306 -u root -p
生产环境建议:
环境变量选项:
MYSQL_DATABASE
:初始化时创建的数据库MYSQL_USER
和 MYSQL_PASSWORD
:创建用户并授权MYSQL_ALLOW_EMPTY_PASSWORD
:允许空密码(不安全)查看日志:
docker logs some-mysql
使用官方镜像是最简单、最安全的方式,推荐在生产环境中使用。