什么是Docker-Compose
成都創新互聯于2013年創立,是專業互聯網技術服務公司,擁有項目成都網站建設、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宣恩做網站,已為上家服務,為宣恩各地企業和個人服務,聯系電話:18982081108
Compose項目來源于之前的fig項目,使用python語言編寫,與docker/swarm配合度很高。Compose 是 Docker 容器進行編排的工具,定義和運行多容器的應用,可以一條命令啟動多個容器,使用Docker Compose不再需要使用shell腳本來啟動容器。 Compose 通過一個配置文件來管理多個Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動,停止和重啟應用,和應用中的服務以及所有依賴服務的容器,非常適合組合使用多個容器進行開發的場景。docker-compose默認的模板文件是 docker-compose.yml,其中定義的每個服務都必須通過 image 指令指定鏡像或 build 指令(需要 Dockerfile)來自動構建。
使用 Compose 基本會有如下三步流程:
1.在 Dockfile 中定義你的應用環境,使其可以在任何地方復制。
2.在 docker-compose.yml 中定義組成應用程序的服務,以便它們可以在隔離的環境中一起運行。
3.最后,運行dcoker-compose up,Compose 將啟動并運行整個應用程序。
下面看下docker-compose部署MySQL無法訪問的問題。
這個問題困擾了我很久,當使用docker-compose
部署mysql之后,進行容器后,使用mysql -u root -p
是可以訪問的,而使用sql客戶端卻是無法連接的,于是在google上找了很多資料,終于被我發現,添加 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:
總結
以上所述是小編給大家介紹的docker-compose部署mysql無法訪問的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!
文章標題:淺析docker-compose部署mysql無法訪問的問題
當前網址:http://m.newbst.com/article44/pjcpee.html
成都網站建設公司_創新互聯,為您提供Google、ChatGPT、網頁設計公司、網站內鏈、關鍵詞優化、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯