docker-compose 部署mysql一直重启

1、本身compose.yml 就设定了restart : always,所启动失败立马就会重启

2、找到当前版本的mysql,单独跑一次docker pull mysql ,不在后台运行,这样可以直观的看到启动日志,可以看到哪里错了。以下截图是由于,mysql/data下有数据,容器无法初始化这些文件内容,导致无法启动,删除data目录下文件,这个问题就解决了

3、学习是一条漫长的路,加油,熬到最后也许就成功了

### Docker Compose 部署 MySQL 5.7 的配置示例 以下是通过 `docker-compose` 配置并部署 MySQL 5.7 的具体方法: #### 基本配置文件结构 Docker Compose 使用 YAML 文件来定义服务及其依赖关系。对于 MySQL 5.7,可以通过创建名为 `docker-compose.yml` 的文件实现。 ```yaml version: '3.8' services: db: image: mysql:5.7 container_name: mysql_5_7_container restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: testdb MYSQL_USER: user MYSQL_PASSWORD: password ports: - "3306:3306" volumes: - ./data:/var/lib/mysql networks: - app-network networks: app-network: driver: bridge ``` #### 参数说明 - **image**: 定义使用的镜像版本为 `mysql:5.7`[^4]。 - **container_name**: 设置容器名称为 `mysql_5_7_container`。 - **restart**: 当主机重启时自动启动该容器。 - **environment**: 配置环境变量以初始化数据库实例,包括根密码 (`MYSQL_ROOT_PASSWORD`) 和其他用户/数据库设置。 - **ports**: 将宿主机的端口映射到容器内部的默认 MySQL 端口 (3306)[^4]。 - **volumes**: 数据持久化存储路径,将本地目录挂载至容器内的 `/var/lib/mysql` 路径。 - **networks**: 创建一个新的网络用于服务间通信。 #### 启动服务 完成上述配置后,运行以下命令即可启动服务: ```bash docker-compose up -d ``` 此命令将以分离模式启动服务,并在后台运行容器[^3]。 #### 修改权限 如果遇到权限问题(例如无法执行 `docker-compose`),可按照如下方式调整文件权限: ```bash chmod +x /usr/local/bin/docker-compose ``` 或者如果是通过 YUM 安装,则需调整以下路径的权限: ```bash chmod +x /usr/libexec/docker/cli-plugins/docker-compose ``` 以上操作确保了 `docker-compose` 可正常执行[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RenBingo

一点一滴源于你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值