MySQL数据库
当使用Docker Compose来部署MySQL容器时,你需要创建一个docker-compose.yml
文件,其中包含有关MySQL容器的配置信息。下面是一个简单的示例:
在上面的示例中,我们定义了一个名为mysql
的服务,它使用最新的MySQL镜像(mysql:latest
)。你可以根据需要选择其他版本的MySQL镜像。container_name
指定了容器的名称,你可以根据自己的喜好进行更改。
version: '3'
services:
mysql:
image: mysql:latest
container_name: mysql_container
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: my_database
MYSQL_USER: my_user
MYSQL_PASSWORD: my_password
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
restart: always
表示容器始终在后台运行,并且在失败时会自动重新启动。
ports
部分将宿主机的3306端口映射到容器的3306端口,这样你就可以通过宿主机访问MySQL服务了。
environment
部分设置了MySQL的环境变量。其中,MYSQL_ROOT_PASSWORD
用于设置root用户的密码,MYSQL_DATABASE
用于创建一个数据库,MYSQL_USER
和MYSQL_PASSWORD
用于创建一个具有访问该数据库权限的用户。你可以根据自己的需求进行更改。
volumes
部分定义了一个名为mysql_data
的数据卷,用于存储MySQL的数据文件。这样,即使容器被删除或重新创建,数据也会保留下来。
最后,在文件的末尾,我们定义了数据卷mysql_data
。
要运行该Docker Compose文件,请确保你已经安装了Docker和Docker Compose,并在包含docker-compose.yml
文件的目录中运行以下命令:
docker-compose up -d
这将使用Docker Compose在后台启动MySQL容器。你可以使用其他Docker Compose命令来管理容器,如停止、重新启动等。
MySQL数据库+phpmyadmin
[password]
实例,已经测试成功
version: '3'
services:
mysql:
image: mysql:latest
container_name: mysql_container
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: admin888* #用于设置root用户的密码
MYSQL_DATABASE: my_database #用于创建一个数据库
MYSQL_USER: yuebao #用于创建一个具有访问该数据库权限的用户
MYSQL_PASSWORD: 1314 用于创建用户密码
volumes:
- ./mysql_data:/var/lib/mysql
restart: always
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: web_phpmyadmin
ports:
- 8088:80
environment:
# PMA ARBITRARY=1
- PMA_HOST=mysql
- PMA_USER=root
- PMA_PASSWORD=admin888*
links:
- mysql
restart: always
[/password]