docker-compose.yaml で init オプションを使ってもだめでttyを使えばいい

docker-compose.yaml で init オプションを使ってもだめでttyを使えばいい

自分はよくdocker-compose.yamlを使ってDockerfileからコンテナを作成するのですが、開発はじめなどは

FROM ubuntu:16.04

CMD ["/sbin/init"]

などしてイメージを作って、このコンテナにログインして初期設定コマンドを一通り固めて、Dockerfileを作り直したりしています。

なぜこんなことをしているかというと、docker-compose.yaml 内でinitオプションというやつがあるんですが、これがversion3ではなくなったと思っていたからなんです。

例としては以下のような感じです。

version: '3'
services:
  hoge:
    container_name: hoge
    image: hoge
    build:
      context: ./hoge
    init: true

versionを2にするとinit使えるのですが、最新のversionを使いたかったのでDockerfile内で書いてたんですがalpineなどで/sbin/initのようなものがなかなか見つからず困っていた所version3でも、3.7にすると使えるという情報を発見

version: '3.7'
services:
  hoge:
    container_name: hoge
    image: hoge
    build:
      context: ./hoge
    init: true

こんな感じですね。なんで、version2系にするか 3.7 以降であれば使えると思います!

とおもいきや、

tty: true

とやれば、いけました汗。
docker-compose up したコンテナを起動させ続ける方法
これみつからなかったなぁ、なかなか

スポンサーリンク
レクタングル(大)
レクタングル(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル(大)