Ubuntu18.04のDockerイメージを起動する


目的

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のインストール

Install 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コンテナ起動時にシェルを実行する