LoginSignup
16
22

More than 3 years have passed since last update.

Dockerの使い方

Last updated at Posted at 2019-05-22

Dockerの基本概念

Dockerとはアプリケーションを開発・移動・実行するためのプラットフォームです。
設計思想は開発者が簡単にアプリケーションを動かす環境を作る。

Docker Container

  • 実際動かすアプリケーションの環境
  • コンテナ毎にリソースをもつ
  • 仮想環境と同じような考え方ですが、コンテナはアプリケーション単位
  • 整合性の高いアプリケーションや、それに関する環境設定を同じコンテナに設定すればよい

Docker Image

  • コンテナを実行するためのファイルシステム
  • 仮想環境のイメージファイルと相当
  • バージョン管理はGitlabなどのWebサービスを利用してもよいし、ローカルでも管理出来ます。

Docker File

  • イメージを作成するための設定ファイル。
  • Imageの環境構築手順を書けます。
  • ソースファイルと一緒に管理し、デプロイする度に呼び、該当バージョンのイメージを作成

Docker yaml

  • DockerFileとほば同じ役割
  • DockerFileより、書きやすい
  • その他は勉強中。。。

Dockerのインストール

最新版をダウンロードして、インストールだけ
検証手順:https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81

Docker Fileの作り方

  • ファイル名「Dockerfile」としてファイルを新規作成
  • FROMでベースになるイメージを指定
  • RUNCMDなどで実行コマンドを必要に応じて追加
FROM python:3.6

COPY . /app
WORKDIR /app

RUN pip install -r /app/requirements.txt
CMD python DemoApp/src/run_server.py

Docker Imageの使う方

DockerFileからイメージを作成する

docker build -t admin/httpd .

現在のフォルダにあるDockerFileにより、「admin/httpd」という名前のイメージを作成する

コンテナからイメージを作成する

docker commit demo-container demo/img:qa 

コンテナ「demo-container」をベースに名前「demo/img」タグ「qa」のイメージを作成する

イメージ一覧の表示

docker images

現在ローカルにあるイメージの一覧を表示する

イメージの削除

docker rmi demo/img

名前「demo/img」のイメージをローカルから削除する

イメージの更新

docker pull demo/img

名前「demo/img」のイメージの最新版を取得

Docker Containerの使う方

既存コンテナの一覧を表示

docker ps

各コンテナの状態も見えます。

イメージファイルからコンテナを生成し、起動する

docker run admin/httpd

名前「admin/httpd」のイメージでコンテナを生成し、起動する

よく使うオプション:

  • --name コンテナ名を指定
  • -d 起動後にバックグランドで実行
  • -i 起動時に STDOUT を開きっぱなしにしてくれる
  • -e 環境変数の指定
  • -p ポートの開放
  • -v ホストディレクトリをコンテナにマウントする

作成したコンテナに対する操作

  • コンテナを起動
docker start admin/httpd
  • コンテナを停止
docker stop admin/httpd
  • コンテナを再起動
docker restart admin/httpd

コンテナを削除

docker rm admin/httpd

削除前に停止する必要があります。

Docker yamlの作り方

学習中
https://qiita.com/yuta-ushijima/items/d3d98177e1b28f736f04
https://qiita.com/zembutsu/items/9e9d80e05e36e882caaa

参考リンク

https://qiita.com/curseoff/items/a9e64ad01d673abb6866
https://www.slideshare.net/zembutsu/docker-images-containers-and-lifecycle
https://qiita.com/tera_shin/items/8a43e904bd15990d3129#%EF%BC%97%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E4%B8%80%E8%A6%A7

後続の調査方向:Kubernetes

16
22
1

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
16
22