如何在Linux用Docker部署MySQL数据库并远程访问本地数据库
要在Linux上使用Docker部署MySQL数据库并允许远程访问,请按照以下步骤操作:
- 安装Docker(如果尚未安装):
sudo apt-update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
- 拉取MySQL镜像:
docker pull mysql:latest
- 运行MySQL容器并设置环境变量:
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
这里--name
后面是你给容器设置的名字,-e MYSQL_ROOT_PASSWORD=my-secret-pw
是设置MySQL的root用户的密码,-d
表示后台运行,mysql:latest
是使用的镜像。
- 为了能从远程访问数据库,需要将MySQL的端口映射到宿主机的端口:
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:latest
- 默认情况下,MySQL容器的数据是存储在容器内部的。为了持久化数据,你应该创建一个数据卷:
docker volume create mysql_data
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -v mysql_data:/var/lib/mysql -d mysql:latest
- 确保Linux防火墙允许远程访问3306端口(如果已启用):
sudo ufw allow 3306/tcp
现在,你应该可以从任何远程设备使用MySQL客户端或任何支持的工具通过IP地址和端口3306访问你的MySQL数据库。记得使用你在创建容器时设置的root密码进行身份验证。
评论已关闭