主頁 > 知識庫 > 淺析docker-compose部署mysql無法訪問的問題

淺析docker-compose部署mysql無法訪問的問題

熱門標簽:廣東如何申請400電話 哈爾濱400電話去哪辦理 i智能電話機器人yeta 北京人工外呼系統(tǒng)廠家 西柏坡地圖標注 寧波400電話辦理對企業(yè)的意義 話術外呼系統(tǒng) 燃氣管線地圖標注顏色 400電話申請要什么條件

什么是Docker-Compose

Compose項目來源于之前的fig項目,使用python語言編寫,與docker/swarm配合度很高。Compose 是 Docker 容器進行編排的工具,定義和運行多容器的應用,可以一條命令啟動多個容器,使用Docker Compose不再需要使用shell腳本來啟動容器。 Compose 通過一個配置文件來管理多個Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動,停止和重啟應用,和應用中的服務以及所有依賴服務的容器,非常適合組合使用多個容器進行開發(fā)的場景。docker-compose默認的模板文件是 docker-compose.yml,其中定義的每個服務都必須通過 image 指令指定鏡像或 build 指令(需要 Dockerfile)來自動構建。

使用 Compose 基本會有如下三步流程:

1.在 Dockfile 中定義你的應用環(huán)境,使其可以在任何地方復制。
2.在 docker-compose.yml 中定義組成應用程序的服務,以便它們可以在隔離的環(huán)境中一起運行。
3.最后,運行dcoker-compose up,Compose 將啟動并運行整個應用程序。

下面看下docker-compose部署mysql無法訪問的問題。

這個問題困擾了我很久,當使用docker-compose部署mysql之后,進行容器后,使用mysql -u root -p 是可以訪問的,而使用sql客戶端卻是無法連接的,于是在google上找了很多資料,終于被我發(fā)現(xiàn),添加 command: --default-authentication-plugin=mysql_native_password 即可解決這個問題,它還是和密碼加密方式有關。

version: "3.3"
services:
 Redis:
 image: sameersbn/redis:latest
 ports:
  - "6379:6379"
 volumes:
  - redis_data:/var/lib/redis
 restart: always
 mysql:
  image: mysql:latest
  restart: always
  command: --default-authentication-plugin=mysql_native_password #這行代碼解決無法訪問的問題
  networks:
   - dev
  ports:
   - "3306:3306"
  environment:
   MYSQL_ROOT_PASSWORD: abc123
   MYSQL_USER: 'test'
   MYSQL_PASS: 'test'
  volumes:
   - mysql_data:/var/lib/mysql
networks:
 dev:
  driver: bridge
volumes:
 redis_data:
 mysql_data:

總結(jié)

以上所述是小編給大家介紹的docker-compose部署mysql無法訪問的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標簽:珠海 湘潭 開封 西藏 襄陽 張家口 阜陽 巴中

巨人網(wǎng)絡通訊聲明:本文標題《淺析docker-compose部署mysql無法訪問的問題》,本文關鍵詞  淺析,docker-compose,部署,mysql,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析docker-compose部署mysql無法訪問的問題》相關的同類信息!
  • 本頁收集關于淺析docker-compose部署mysql無法訪問的問題的相關信息資訊供網(wǎng)民參考!
  • 推薦文章