第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Dockerize MySQL 與另一個程序一起

Dockerize MySQL 與另一個程序一起

Go
躍然一笑 2022-08-15 15:52:41
所以我有一個不和諧,但我目前在家里的服務器上運行它。我現(xiàn)在決定從頭開始設置服務器?,F(xiàn)在我在服務器上有MySQL和程序(不在docker容器中),我現(xiàn)在想把它做成Docker化。為了簡單起見,我決定只擴展MySQL容器,但我不斷遇到錯誤?,F(xiàn)在一切都可以正常工作,除了程序沒有連接到MySQL服務器。我嘗試使用以下命令啟動應用程序CMD ./PokeBot結(jié)果是連接被拒絕錯誤。首先,我試圖公開端口3306并用作MySQL服務器的IP。沒有任何效果。127.0.0.1然后我認為MySQL服務器沒有運行,所以我創(chuàng)建了一個Bash Shell腳本()來啟動MySQL服務器,但是我得到了錯誤。.shFatal error: Please read "Security" section of the manual to find out how to run mysqld as root!我該怎么做才能在Docker容器中與MySQL一起運行該程序?我啟動容器的命令是:docker run -p 3306:3306 name項目結(jié)構:這是我的 Dockerfile:FROM mysql:latest as builder# That file does the DB initialization but also runs mysql daemon, by removing the last line it will only initRUN ["sed", "-i", "s/exec \"$@\"/echo \"not running $@\"/", "/usr/local/bin/docker-entrypoint.sh"]# needed for intializationENV MYSQL_ROOT_PASSWORD=asdfghjklCOPY setup.sql /docker-entrypoint-initdb.d/ADD ca-certificates.crt /etc/ssl/certs/# Need to change the datadir to something else that /var/lib/mysql because the parent docker file defines it as a volume.# https://docs.docker.com/engine/reference/builder/#volume :#       Changing the volume from within the Dockerfile: If any build steps change the data within the volume after#       it has been declared, those changes will be discarded.RUN ["/usr/local/bin/docker-entrypoint.sh", "mysqld", "--datadir", "/initialized-db"]FROM mysql:latestENV MYSQL_ROOT_PASSWORD=asdfghjklADD ca-certificates.crt /etc/ssl/certs/COPY PokeBot /COPY --from=builder /initialized-db /var/lib/mysqlCOPY start.sh / EXPOSE 3306RUN apt updateRUN apt install ca-certificates sudo -yRUN update-ca-certificatesCMD ./start.sh
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

基本上,我想最好有兩個容器:一個用于MySQL,一個用于你的程序,并通過docker-compose.yml將它們作為兩個服務進行管理。通過這種方式,您可以在不接觸代碼容器的情況下更改數(shù)據(jù)庫版本。現(xiàn)在,您需要通過 docker exec -it 將 ssh 到正在運行的容器中,并嘗試從 bash 連接到您的 db,看看它是否有效。由于您的代碼位于同一容器中,因此應該能夠以類似的方式執(zhí)行此操作


查看完整回答
反對 回復 2022-08-15
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號