作者MOONY135 (脱俗仙子谈无慾)
看板Soft_Job
标题Re: [请益] docker容器连线不上问题
时间Sun Sep 8 10:05:53 2019
※ 引述《MOONY135 (脱俗仙子谈无慾)》之铭言:
: 最近在研究docker 容器
: 想用写好的go去连mysql
: 这是我的docker-compose档
: https://pastebin.com/embed_js/2x5MgY2q
: 这是go连线到mysql的设定
: https://pastebin.com/embed_js/KrnH2DZ7
: 当我docker-compose up之後
: 我从终端机连到mysql 用root权限是可以进去的
: 也看到已经create好的db
继续第二问 想学的是code first的方式
用的是spf13/cobra这个套件 他可以根据你对专案下的参数去决定要启用甚麽服务
我想把create table 跟 seed一点资料进mysql这两件事情在启动服务之前先做好
(因为怕orm模型有变动 所以分开到其他专案这样会很麻烦)
我的dockerfile最後是这样写的
RUN ["db:reset"]
RUN ["db:seed"]
CMD ["http:start"]
build容器会卡在RUN ["db:reset"]这一段 也试过
CMD ["db:reset","db:seed","http:start"]
也都不行 是不是我想法不太对呢? 其实都是对另外一个mysql容器做事情
还是我需要用run and sleed呢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.180.20 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1567908355.A.280.html
1F:推 MoMoShota: 我想你应该是要用 entrypoint 这个功能? 09/08 11:24
2F:→ sextitanic: 用 supervisor 呢? 09/08 13:17
错误logs是这样
Creating mysql-db ... done
Creating unicorn-go_rx0_1 ... done
Attaching to mysql-db, unicorn-go_rx0_1
mysql-db | [Entrypoint] MySQL Docker Image 5.7.27-1.1.12
rx0_1 |
[email protected]
rx0_1 | DEBU[2019-09-08 04:55:52]
(.go/pkg/mod/github.com/spf13/
[email protected]/command.go:914)
generate default data.
mysql-db | [Entrypoint] Starting MySQL 5.7.27-1.1.12
rx0_1 | DEBU[2019-09-08 04:55:52]
(.go/src/moony/unicorn-go/cmd/context.go:22)
root:123456@tcp(mysql:3306)/rockman?charset=utf8&parseTime=true&loc=UTC&multiStatements=true
rx0_1 | ERRO[2019-09-08 04:55:52]
(.go/src/moony/unicorn-go/cmd/context.go:22) dial tcp 172.20.0.2:3306:
connect: connection refused
rx0_1 | panic: Database connection failed.
logs看起来rx0_1跟mysql-db是并行启动
(i.e.当我开始db:reset的时候 mysql还没启动好)
然後我又看到这篇文章
https://reurl.cc/Ob1may
不过需要注意的是,
depends_on 不会等到 db 和 redis 容器 ready 再启动,web 容器
仅仅等到 redis 和 db 容器启动就开始启动。具体可参考官网启动顺序了解。
看起来像是依赖问题 所以根据depends_on找到下面文章
https://reurl.cc/yyZAjM
depends_on:
rabbit:
condition: service_healthy
但版本3好像已经不支援了 这边会跳
depends_on contains an invalid type, it should be a string
目前为止做到这步 看起来我应该是要等到mysql的容器
完全启动之後再去seed data
应该是卡在相依性这边(?)
※ 编辑: MOONY135 (123.194.180.20 台湾), 09/08/2019 13:34:46