コンテナのシェル接続
Automated-buildとは関係無いが、とりあえずメモメモ
attach
$ docker attach <コンテナ名orId>
コンテナでシェルを実行している時のみに有効
exec
$ docker exec -it <コンテナ名orId> /bin/bash
/bin/bashここはフレキシブルに別のシェルでも大丈夫
そんでattachとexecの違いは何なん?
- attachの場合
抜けるときは、cont+P cont+Qで抜けないと、Forgroundで実行したい場合もコンテナが終了してしまう。
## attachで接続し、exitで抜ける
$ docker attach connect-test
root@c4ed66515939:/#
root@c4ed66515939:/# exit
exit
## Exitedでコンテナが終了状態に
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c4ed66515939 ubuntu "/bin/bash" 2 minutes ago Exited (0) 6 seconds ago connect-test
- Execの場合
exitでOK!!
## execで接続し、exitで抜ける
$ docker exec -it connect-test /bin/bash
root@c4ed66515939:/#
root@c4ed66515939:/# exit
exit
## コンテナが起動中であることを確認
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c4ed66515939 ubuntu "/bin/bash" 3 minutes ago Up 13 seconds connect-test
コンテナからイメージ作成
こちらもまたAutomated-buildとは関係ない
docker commit コンテナ名 イメージ:タグ
コンテナの状態をイメージとして保存することができる
この場合、コンテナ内で行われた処理は記録として残らないため通常はDockerfileの方を編集すべき
$ docker commit connect-test hoge:latest
sha256:ca6fec94d20b81f576c196934b680da5036dd41b04524ba55d0f788dd83122fd
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hoge latest ca6fec94d20b 16 seconds ago 84.1MB
Automated-buildを設定する
いよいよAutomated-buildを設定していきます。
Docker Hub へ移動しHeaderの入っているCreateからCreate Automated Buildを選択
何を使うかをもとめられるが今回はGithubを使用するので、Githubを選択する
そして、利用対象のリポジトリを選択して、情報を書き込んでいく。
設定完了です。
これで、Pushするごとに、ビルドしてくれるようになります。
ビルド状況はBuild Detailsで確認できます!!
まとめ
意外と簡単にAutomated-buildの設定ができちゃいました。
これをどのように使っていくかがむずかしいいんでしょうけど!!
