1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DockerでUbuntu16:04イメージをベースにコンテナを作成する

Last updated at Posted at 2020-05-16

目的

Dockerfile で Ubuntu16:04 イメージをベースにコンテナを作成する際の基本手順の備忘録です。

前提

Dockerをインストール済である事が前提

Dockerfileの作成とコンテナの起動

docker imageが何も起動していない状態から開始

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Dockerfileを用意

Dockerfile
#利用するUbuntuのイメージ
FROM ubuntu:16.04 

RUN apt-get update

Dockerfileを格納しているディレクトリで、docker buildしてイメージを作成

(例)"ubuntu1604-test"の名前のイメージをbuild
$ docker build -t ubuntu1604-test .
Sending build context to Docker daemon  6.144kB
Step 1/2 : FROM ubuntu:16.04
16.04: Pulling from library/ubuntu
...
Successfully built 059ae10b126a
Successfully tagged ubuntu1604-test:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
ubuntu1604-test     latest              059ae10b126a        About a minute ago   151MB
ubuntu              16.04               005d2078bdfa        3 weeks ago          125MB

作成したイメージをベースにコンテナを起動

(例)ubuntu1604-testという名前でコンテナを起動する
$ docker run -it -d --name ubuntu1604-test ubuntu1604-test:latest
d9d1cb8606bc0a2ddb798bc19ab6de746eced6b19f933de335be986d8c955296
 docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
d9d1cb8606bc        ubuntu1604-test:latest   "/bin/bash"         13 seconds ago      Up 12 seconds                           ubuntu1604-test

起動が成功すればOK
コンテナ内に入って色々試してみる

$ docker exec -it ubuntu1604-test /bin/bash
root@d9d1cb8606bc:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@d9d1cb8606bc:/# exit # コンテナから出る

不要になればコンテナを削除

$ docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
d9d1cb8606bc        ubuntu1604-test:latest   "/bin/bash"         2 minutes ago       Up 2 minutes                            ubuntu1604-test
$ docker stop d9d1cb8606bc
d9d1cb8606bc
$ docker rm d9d1cb8606bc
d9d1cb8606bc
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

不要になればイメージも削除

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu1604-test     latest              059ae10b126a        5 minutes ago       151MB
ubuntu              16.04               005d2078bdfa        3 weeks ago         125MB
$ docker rmi ubuntu1604-test
Untagged: ubuntu1604-test:latest
Deleted: sha256:059ae10b126a33c0a1383be2de2e164ba34459bc2671e05f1d3368511a59070c
Deleted: sha256:f5de470b93ff6d77d6ec1d3b43e963aee80fefee1226520cafa65b8762b81307
$ docker rmi ubuntu:16.04
Untagged: ubuntu:16.04
Untagged: ubuntu@sha256:db6697a61d5679b7ca69dbde3dad6be0d17064d5b6b0e9f7be8d456ebb337209
Deleted: sha256:005d2078bdfab5066ae941cea93f644f5fd25521849c870f4e1496f4526d1d5b
Deleted: sha256:a83c92a7c7a0f4a52fc74fa38496be9a5e6b738bc5fd5d60e54768fed238c173
Deleted: sha256:c6a36d55655e576fc8166a32fd05e281d03bedc26b1118902e92e7ba421dfa72
Deleted: sha256:d1c997f15060e07ff557383387d6839e0377873837025fc843fa5d94bea2c4e5
Deleted: sha256:b592b5433bbffb04389a0e6349cdba6af8d006779bbb93beb69aa77d59133be4
(base) seigonoMacBook-puro-1320:appjs seigo$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker run の代わりに docker-compose.ymlを使う場合

以下のようにdocker-compose.ymlを用意する

docker-compose.yml
version: '3.3'
services:
    test:
        container_name: ubuntu1604-test
        image: 'ubuntu1604-test:latest'
        stdin_open: true

docker run の代わりにdocker-compose でコンテナ起動する

$ docker-compose up -d
Creating ubuntu1604-test ... done
(base) seigonoMacBook-puro-1320:appjs seigo$ docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
d2276b9cd3f0        ubuntu1604-test:latest   "/bin/bash"         2 seconds ago       Up 1 second                             ubuntu1604-test

docker build の代わりに docker-compose.ymlを使う場合

以下のようにdocker-compose.ymlを用意する

docker-compose.yml
version: '3.3'
services:
    test:
        build:
          context: .
          dockerfile: Dockerfile
        container_name: ubuntu1604-test
        image: 'ubuntu1604-test:latest'
        stdin_open: true

docker build/run の代わりにdocker-compose でコンテナ起動する

$ docker-compose build
$ docker-compose up -d
$ docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
7af849677b8c        ubuntu1604-test:latest   "/bin/bash"         3 seconds ago       Up 2 seconds                            ubuntu1604-test

その他

作成したコンテナを利用して、以下を参考にROSインストールを行い、turtlesimが動かせる事を確認済(2020/5/15)→別記事にする予定
ROS Kinetic の Ubuntu へのインストール
ROSトピックの理解
Docker for MacでROSの亀さんと戯れた

参考

Dockerfile リファレンス
超基礎からの 速習 Docker (1)
Docker for MacでROSの亀さんと戯れた
Docker run/createコマンド
DockerでUbuntu 16.04 LTSのイメージを利用してみよう
Dockerによる開発環境構築(Rails & Postgres)において exited with code 0 でコンテナが終了してしまった時の対処法
ROS Kinetic の Ubuntu へのインストール
ROSトピックの理解
ROS Kinetic の Ubuntu へのインストール
ROSトピックの理解
Docker for MacでROSの亀さんと戯れた

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?