Appearance
第二十一期 Docker:部署和简单管理 MariaDB/MySQL 数据库
本期视频我们分享使用 Docker 部署和管理 Mariadb 的方法,如果你准备在 NAS 上安装 Nextcloud 网盘,一定不要错过本期视频。
视频地址
MariaDB Stack
以下配置会同时在 Docker 中部署 MariaDB 和 Adminer 两个应用容器,在执行一键部署之前,请先手动创建一个名为 mynet
的桥接类型网络。
请将配置中的
ROOT_ACCESS_PASSWORD
替换成要给 root 用户设置的密码。
yaml
---
version: "2"
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
- TZ=Asia/Shanghai
volumes:
- mariadb_data:/config
ports:
- 3306:3306
networks:
- mynet
restart: unless-stopped
adminer:
image: adminer
container_name: adminer
environment:
- ADMINER_DEFAULT_SERVER=mariadb
ports:
- 8080:8080
networks:
- mynet
restart: unless-stopped
networks:
mynet:
external:
name: mynet
管理数据库
一键部署完成后,使用 http://nas-ip:8080
(请将 nas-ip
替换成 OMV 的局域网 IP 地址) 访问 adminer 的应用界面。
初次登录信息如下:
- 系统:MYSQL
- 服务器:mariadb
- 用户名:root
- 密码:配置文件中
MYSQL_ROOT_PASSWORD
项的值
常见问题
一、PUID 和 PGID 是干什么的?
LinuxServer 维护的 Docker 镜像都有 PUID
和 PGID
这两个环境变量,他们主要用来设置挂载到容器中的存储的所有权。
默认情况下,挂载到容器上的存储会以 root 用户的身份写入文件,这会使得主机上的普通用户没有权限去读写这些文件。为了让主机上的特定用户能够读写挂载到容器中的存储,可以将用户或组的 ID 通过 PUID
和 PGID
这两个环境变量进行指定。设置以后,容器中的程序就会以所设置的用户身份在挂载的存储上写入数据了。