Docker 部署 MySQL:运行、数据持久化与外网访问
-
首先在命令行中运行以下命令拉取 MySQL 镜像:
docker pull mysql:latest -
运行以下命令启动 MySQL 容器:
docker run --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD='my-secret-pw' -d mysql:latest--name mysql-container:指定容器名称为 mysql-container;-p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口;-e MYSQL_ROOT_PASSWORD='my-secret-pw':设置 MySQL 的 root 用户密码为 my-secret-pw;-d:将容器放入后台运行。
-
确认容器已经启动:
docker ps如果容器状态为
Up,说明容器已经成功启动。 -
外网访问
如果要让外网可以访问 MySQL 容器,需要将主机的 3306 端口映射到公网 IP 的 3306 端口,或者使用云服务提供商的负载均衡服务。但是,这样做存在一定的安全风险,建议使用 SSL 加密连接 MySQL。
-
保证数据不丢失
要保证容器线程结束时数据不丢失,可以使用 Docker 数据卷来将 MySQL 数据存储在主机上。具体方法如下:
docker run --name mysql-container -p 3306:3306 -v /my/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='my-secret-pw' -d mysql:latest-v /my/mysql/data:/var/lib/mysql:将主机的/my/mysql/data目录挂载到容器的/var/lib/mysql目录,使用 Docker 数据卷来存储 MySQL 数据。
这样做可以保证在容器线程结束时数据不丢失。
原文地址: https://www.cveoy.top/t/topic/nf6C 著作权归作者所有。请勿转载和采集!