1.首先按照以下的路徑創(chuàng )建相應的文件夾
/usr/local/docker/mysql
2.然后在該目錄下創(chuàng )建docker-compose.yml文件并且在文件中加入以下的配置
version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M; ports: - 3306:3306 volumes: - ./data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8080:8080
3.按照以下的路徑創(chuàng )建相應的文件夾
/usr/local/docker/tomcat
4.在該文件夾的目錄下面創(chuàng )建一個(gè)docker-compose.yml并且填寫(xiě)相關(guān)的配置信息(由于這里的上面的宿主機的8080端口被占用所以這里只能改為其他的端口)
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8082:8080 volumes: - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai
注意: 創(chuàng )建的目錄不同那么上面對應的 /usr/local/docker/tomcat目錄就不能同
5.如果沒(méi)能啟動(dòng)那么可以直接用啟動(dòng)命令試試
docker run -p 8082:8080 鏡像id或者鏡像名稱(chēng)
6.在將項目上傳到和tomcat的同級目錄下面解壓縮然后運行就可以實(shí)現部署
說(shuō)明:
一個(gè)容器可以部署一個(gè)項目,那么是不是很奇怪,假如說(shuō)我在同一臺服務(wù)器上面部署了三個(gè)應用一個(gè)前端的UI一個(gè)后端的Admin,一個(gè)數據庫MySQL,那么后端要管理前端的數據,而他們的配置文件docker-compose分別為以下
admain 路徑:/usr/local/docker/tomcat
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8082:8080 volumes: - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai
UI: /usr/local/docker/tomcat_ui
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcatui ports: - 8083:8080 volumes: - /usr/local/docker/tomcat_ui:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai~
mysql 路徑: /usr/local/docker/mysql
docekr-compose的配置
version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: - 3306:3306 volumes: - ./data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8080:8080
后端管理前端的數據是如何做到的呢,其實(shí)者就要聯(lián)系到你部署的項目了,項目里有配置一個(gè)數據連接配置如下
# JDBC jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false jdbc.username=root jdbc.password=123456 # JDBC Pool jdbc.pool.init=1 jdbc.pool.minIdle=3 jdbc.pool.maxActive=20 # JDBC Test jdbc.testSql=SELECT 'x' FROM DUAL
那么這里配置的jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false就是關(guān)鍵了,其實(shí)就是通過(guò)這個(gè)ip來(lái)進(jìn)行數據管理的。這個(gè)ip是mysql部署的服務(wù)器ip,那么部署的項目連接配置都是指向的這個(gè)ip,這樣也就讓后臺獲得了這個(gè)數據庫的數據,直接管理了前臺的數據。而且數據庫可視化界面比如Navicat和SQLyog等用數據庫部署的IP比如上面這個(gè)IP就可以輕松的對服務(wù)器數據庫的數據進(jìn)行方便的管理。
如果需要停止某個(gè)服務(wù),可以直接在對應那個(gè)服務(wù)的文件夾下和docker-compose同級的目錄下面用docker-compose down 即可直接停止某個(gè)服務(wù)
到此這篇關(guān)于docker-compose基于MySQL8部署項目的實(shí)現的文章就介紹到這了,更多相關(guān)docker-compose部署MySQL8內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站