如何配置MySQL Docker容器,以便其使用的端口与主机上默认的MySQL端口不同,以避免冲突?
时间: 2024-11-24 08:42:19 浏览: 6
docker容器无法访问宿主机端口的解决
配置MySQL Docker容器时,可以修改Dockerfile或docker-compose.yml文件中的相关设置,使其运行时不占用主机的默认MySQL端口。以下是通过`docker-compose.yml`的例子:
```yaml
version: '3'
services:
mysql:
image: mysql:latest
container_name: my_mysql_container
ports:
- "3307:3306" # 将容器内的3306端口映射到主机的3307端口
environment:
MYSQL_ROOT_PASSWORD: your_root_password
```
在这个例子中,`- "3307:3306"` 表示将容器的3306端口映射到主机的3307端口。启动容器后,你可以通过 `localhost:3307` 连接到MySQL。
如果你是在命令行直接操作,可以在运行`docker run`命令时添加 `-p` 参数:
```bash
docker run -d -p 3307:3306 --name my-mysql-container -e MYSQL_ROOT_PASSWORD=my_password mysql
```
这样容器会监听3306端口,并将其连接转发到主机的3307端口。
阅读全文