目的
Ubuntu 18.04 LTS にdockerをインストールするの続き〜Ubuntu18.04のDockerイメージを起動するまでの備忘録です
準備
Dockerfile、docker-compose.yml、起動時に実行するスクリプト(start.sh)を準備する
Dockerfile
FROM ubuntu:18.04
# コンテナ起動時に実行する
ADD start.sh /
RUN chmod +x /start.sh
CMD ["/start.sh"]
docker-compose.yml
version: '2.0'
services:
myproject:
image: mycontainer:latest
container_name: mycontainer
start.sh
#!/bin/bash
echo "test" > test.txt
#コンテナを起動し続ける
tail -f /dev/null
コンテナ起動
以下を実行してコンテナ起動すればOK
# build
docker build -t mycontainer .
# run
docker-compose up -d
# exec
docker exec -it mycontainer /bin/bash
docker composeのインストール
# sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose -v
docker-compose version 1.26.2, build eefe0d31
docker-compose up 後に、コンテナが(container name) exited with code 0 となる場合
$ docker-compose up
Creating ubuntu-container ... done
Attaching to ubuntu-container
ubuntu-container exited with code 0
正常終了しているので、コンテナ起動後に以下を実行できるようにする。
#コンテナを起動し続ける
tail -f /dev/null
参考
Ubuntu 18.04 の Docker イメージの作成(Ubuntu 上)
【Linux入門】DockerでUbuntu18.04を構築する方法
Install Docker Compose
docker run -it の「-it」とはなにか
docker-compose upするとコンテナが一瞬でexited with code 1する話
docker コンテナ起動時のシェル実行について
dockerコンテナ起動時にシェルを実行する