在Docker容器中运行一个数据库,可以通过以下步骤进行:
- 拉取官方数据库镜像:
# 拉取MySQL镜像
docker pull mysql:8.0
# 拉取Postgres镜像
docker pull postgres:13
# 拉取MongoDB镜像
docker pull mongo:5.0
- 运行数据库容器:
# 运行MySQL容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:8.0
# 运行Postgres容器
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=password postgres:13
# 运行MongoDB容器
docker run -d --name mongo -p 27017:27017 mongo:5.0
此命令将在后台运行各数据库容器,并设置环境变量指定root/postgres用户密码。
- 连接到数据库:
# MySQL客户端连接
docker exec -it mysql mysql -uroot -ppassword
# Postgres客户端连接
docker exec -it postgres psql -U postgres -dpostgres
# MongoDB客户端连接
docker exec -it mongo mongo admin
- 在其他容器使用主机网络连接数据库:
yaml
version: "3.1"
services:
web:
build: .
networks:
- mynet
mysql:
image: mysql:8.0
networks:
- mynet
environment:
MYSQL_ROOT_PASSWORD: password
networks:
mynet:
# PHP代码连接MySQL
$conn = new mysqli("mysql", "root", "password");