目錄結構:
mysql/
|-- conf
| `-- my.cnf
|-- docker-compose.yaml
一、安裝docker、docker-compose
1、不會安裝docker的請移步----》Centos 7 安裝docker Ubuntu16.04安裝Docker
2、安裝docker-compose(Centos7環境無pip的----》centos7安裝pip2)
pip install docker-compose
第二、配置docker-compose.yaml文件
mkdir mysql && cd mysql
cat << EOF > docker-compose.yaml
version: "3.7"
services:
mysql:
image: mysql:5.7
container_name: mysql
network_mode: "bridge"
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=12345678
- MYSQL_ROOT_USER=test
- MYSQL_DATABASE=12345678
restart: always
volumes:
- /data/mysql/db:/var/lib/mysql
- /root/mysql/conf:/etc/my.cnf
EOF
其中network_mode
:爲容器的網絡模式。MYSQL_ROOT_PASSWORD
:爲數據庫的密碼,也就是root用戶的密。MYSQL_USER
和MYSQL_PASS
:代表用戶名和密碼。image
:爲你拉取鏡像的地址和版本,當然也可以換成自己的鏡像倉庫,這裏使用官方的。volumes
:裏面的參數爲映射本地和docker容器裏面的文件夾和目錄。ports
:爲映射端口
第三、編寫my.cnf文件
mkdir conf && cd conf && vim my.cnf
my.cnf文件內容:
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
第四、創建db目錄放置讀取的文件
mkdir -p /data/mysql/db
第五、拉取mysql5.7的鏡像
docker pull mysql:5.7
第六、啓動鏡像
docker-compose up -d
構建成功