読者です 読者をやめる 読者になる 読者になる

Docker基本

今回やること

基本中の基本を理解して、dockerを動かせるところまで。

Dockerとは

ざっくりと高機能なchrootだとでも理解しておけば、当面は良さそう。

調べたこと

以下調べた内容。

始め方

コンテナのイメージをダウンロードしてきて展開しているのかな。

$ docker run <image>

でイメージがダウンロードされてそのまま実行される。 基本実行するとすぐ終了してしまうので、プロンプトがすぐ返ってくる。 -dオプションを作るとバックグラウンドでどうさしっぱなしにできて、-itでインタラクティブなttyに接続できる。

$ docker run -d <image>
$ docker run -it <image>

ダウンロードされているイメージの一覧も確認できる。

$ docker images

起動中のコンテナとストップしているものも含めた全コンテナの見方。

$ docker ps
$ docker ps -a

起動

一度作成したコンテナはstartで開始できる。 -aiでインタラクティブにしてattachしないとすぐ終了してしまう。

$ docker start -ai <container>

反対にstopで停止できる

$ docker stop

接続

起動中のdockerに繋ぐには以下。 bashを起動させてそこに繋ぐって感じかな。

$ docker exec -it <container> /bin/bash

Dockerfile

Dockerファイルを使ってオリジナルのDockerイメージを作れる。 書き方の詳細は以下を参照。

docs.docker.com

FROMでベースになるイメージを指定。RUNでそこから追加となるコマンドを書いていく。ENTRYPOINTで初期実行するコマンドを書くのかな。 buildでビルド。

$ docker build -t <image> .

Docker hub

Dockerのイメージをpushすることができる。 自分のローカルで作ったイメージもpushできるが、Dockerファイルを作った場合は、auto buildもできる。

https://hub.docker.com/u/mkataigi1/

まだよくわかっていないところ

ネットワークの使い方。 いわゆるethとかとは違う?

VOLUMEの使い方。 これは単なるマウントかな。

資料

調べたサイトなど。

ここが一番わかりやすかった。

qiita.com

その他読んだ資料。

paiza.hatenablog.com

www.atmarkit.co.jp

dev.classmethod.jp