使用Docker-compose部署mysql的簡(jiǎn)單步驟
前言
雖然docker部署環(huán)境比自己下載安裝包要方便不少,但是docker的命令還有掛載目錄在每次啟動(dòng)容器的時(shí)候都去找命令對(duì)使用者是很不友好的,而且有時(shí)候要啟動(dòng)多個(gè)容器的時(shí)候顯然一個(gè)個(gè)的啟動(dòng)是很麻煩的。所以如果可以事先將"啟動(dòng)腳本"寫(xiě)好的話,之后就算虛擬機(jī)重啟了,再啟動(dòng)容器也就是執(zhí)行"啟動(dòng)腳本"就好了,docker-compose很好的解決了這個(gè)問(wèn)題。
一、Docker-compose簡(jiǎn)介
個(gè)人理解:容器編排工具,對(duì)于大多數(shù)人來(lái)說(shuō)可能最大的作用是被當(dāng)成啟動(dòng)容器的腳本了。它可以實(shí)現(xiàn)一次性啟動(dòng)多個(gè)容器,它的自動(dòng)重啟容器策略也很好用。
二、部署步驟
1. 在/root 目錄下新建目錄docker-compose,在/root/docker-compose目錄下新建mysql文件件
cd /root mkdir docker-compose && cd docker-compose mkdir mysql && cd mysql
2 準(zhǔn)備掛載文件
(如果不需要修改配置文件此步可跳過(guò),然后docker-compose.yml文件掛載時(shí)刪除配置文件的掛載)
在 /root/docker-compose/mysql 文件夾下新建config文件夾,在conf文件下新建my.cnf 文件
mkdir config && cd config vim my.cnf
將下面的配置文件復(fù)制到 my.cnf中
[mysqld] user=mysql default-storage-engine=INNODB character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8
3.編寫(xiě)docker-compose.yml文件
在/root/docker-compose/mysql文件夾下新建docker-compose.yml文件,
cd /root/docker-compose/mysql
vim docker-compose.yml
加下面內(nèi)容復(fù)制到 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
注意docker-compose.yml 第8行設(shè)置mysql root 賬號(hào)登錄的密碼,這里的 password 修改為自己需要的密碼即可。
4. 啟動(dòng)
docker-compose up -d
總結(jié)
即使之后宿主機(jī)重啟了,只要到docker-compose.yml文件所在的位置,執(zhí)行docker-compose up -d命令就可以啟動(dòng)容器了,事實(shí)上如果docker-compose.yml文件中配置了容器的重啟策略為always,那么每次重啟docker時(shí)都會(huì)重啟相關(guān)的容器,即不需要執(zhí)行docker-compose up -d命令也會(huì)自動(dòng)重啟mysql容器。
相關(guān)文章
Docker 配置網(wǎng)絡(luò)使用bridge網(wǎng)絡(luò)的方法
本篇文章主要介紹了Docker 配置網(wǎng)絡(luò)使用 bridge 網(wǎng)絡(luò)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03詳解Docker下搭建Jenkins構(gòu)建環(huán)境
這篇文章主要介紹了詳解Docker下搭建Jenkins構(gòu)建環(huán)境,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05mac通過(guò)docker一鍵部署Nexus3的過(guò)程記錄
編寫(xiě)一些簡(jiǎn)易的 shell 腳本幫我們快速的搭建服務(wù)器,猿們只要按著套路“一步一步”的操作,基本上都可以快速部署服務(wù),這篇文章主要介紹了mac通過(guò)docker一鍵部署Nexus3及安裝步驟,需要的朋友可以參考下2022-10-10Docker如何訪問(wèn)到宿主機(jī)MYSQL的實(shí)現(xiàn)方法
使用?Docker?能實(shí)現(xiàn)服務(wù)的容器化,并使用容器間網(wǎng)絡(luò)在它們之間進(jìn)行通信,本文主要介紹了Docker如何訪問(wèn)到宿主機(jī)MYSQL的實(shí)現(xiàn)方法,感興趣的可以了解一下,感興趣的可以了解一下2023-09-09docker安裝influxdb的詳細(xì)教程(性能測(cè)試)
這篇文章主要介紹了docker安裝influxdb的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07在Docker中安裝OnlyOffice的詳細(xì)過(guò)程記錄
OnlyOffice是一款免費(fèi)且開(kāi)源的Office協(xié)作辦公套件,支持桌面端和移動(dòng)端等多平臺(tái),下面這篇文章主要給大家介紹了關(guān)于如何在Docker中安裝OnlyOffice的詳細(xì)過(guò)程記錄,需要的朋友可以參考下2024-01-01