目錄
- 前言
- 一、docker-compose簡介
- 二、部署步驟
- 1. 在/root 目錄下新建目錄docker-compose,在/root/docker-compose目錄下新建mysql文件件
- 2 準備掛載文件
- 3.編寫docker-compose.yml文件
- 4. 啟動
- 總結
前言
雖然docker部署環境比自己下載安裝包要方便不少,但是docker的命令還有掛載目錄在每次啟動容器的時候都去找命令對使用者是很不友好的,而且有時候要啟動多個容器的時候顯然一個個的啟動是很麻煩的。所以如果可以事先將"啟動腳本"寫好的話,之后就算虛擬機重啟了,再啟動容器也就是執行"啟動腳本"就好了,docker-compose很好的解決了這個問題。
一、docker-compose簡介
個人理解:容器編排工具,對于大多數人來說可能最大的作用是被當成啟動容器的腳本了。它可以實現一次性啟動多個容器,它的自動重啟容器策略也很好用。
二、部署步驟
1. 在/root 目錄下新建目錄docker-compose,在/root/docker-compose目錄下新建mysql文件件
cd /root mkdir docker-compose && cd docker-compose mkdir mysql && cd mysql
2 準備掛載文件
(如果不需要修改配置文件此步可跳過,然后docker-compose.yml文件掛載時刪除配置文件的掛載)
在 /root/docker-compose/mysql 文件夾下新建config文件夾,在conf文件下新建my.cnf 文件
mkdir config && cd config 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
3.編寫docker-compose.yml文件
在/root/docker-compose/mysql文件夾下新建docker-compose.yml文件,
cd /root/docker-compose/mysql vim docker-compose.yml
加下面內容復制到 docker-compose.yml 中
version: '3' services: mysql: image: mysql restart: always container_name: mysql environment: MYSQL_ROOT_PASSWORD: password TZ: Asia/Shanghai ports: - 3306:3306 volumes: - /root/docker-compose/mysql/data:/var/lib/mysql - /root/docker-compose/mysql/config/my.cnf:/etc/mysql/my.cnf command: --max_connections=1000 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --default-authentication-plugin=mysql_native_password
4. 啟動
docker-compose up -d
總結
即使之后宿主機重啟了,只要到docker-compose.yml文件所在的位置,執行docker-compose up -d命令就可以啟動容器了,事實上如果docker-compose.yml文件中配置了容器的重啟策略為always,那么每次重啟docker時都會重啟相關的容器,即不需要執行docker-compose up -d命令也會自動重啟mysql容器。