如何在Docker容器中运行一个数据库?

在Docker容器中运行一个数据库,可以通过以下步骤进行:

  1. 拉取官方数据库镜像:
# 拉取MySQL镜像
docker pull mysql:8.0

# 拉取Postgres镜像
docker pull postgres:13

# 拉取MongoDB镜像 
docker pull mongo:5.0
  1. 运行数据库容器:
# 运行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用户密码。

  1. 连接到数据库:
# MySQL客户端连接 
docker exec -it mysql mysql -uroot -ppassword 

# Postgres客户端连接
docker exec -it postgres psql -U postgres -dpostgres 

# MongoDB客户端连接 
docker exec -it mongo mongo admin 
  1. 在其他容器使用主机网络连接数据库:
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");