前言
使用docker-compose配置簡單mysql服務,可用於本地或測試服務器。
代碼
目錄結構
docker-compose.yaml
version: '3'
services:
mysql:
restart: always
image: mysql:5.7.16
container_name: my_mysql
volumes:
- ./mydir:/mydir
- ./datadir:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
# 數據庫還原目錄 可將需要還原的sql文件放在這里
- /docker/mysql/source:/docker-entrypoint-initdb.d
environment:
- "MYSQL_ROOT_PASSWORD=yourpass"
- "MYSQL_DATABASE=mydb"
- "TZ=Asia/Shanghai"
ports:
- 3306:3306
使用
$ docker-compose up
# 后台運行
$ docker-compose up -d
附錄
my.cnf
[mysqld]
user=mysql
default-storage-engine=INNODB
#character-set-server=utf8
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
#utf8mb4字符集可以存儲emoji表情字符
#default-character-set=utf8
default-character-set=utf8mb4
[mysql]
#default-character-set=utf8
default-character-set=utf8mb4
總結
- 啟動容器的時候,需要先把占用端口的服務關閉