LoginSignup
5
8

More than 5 years have passed since last update.

Dockerの超基礎的な知識メモ

Last updated at Posted at 2018-04-07

Dockerとは...

名前はもちろん知ってたし、「コンテナ」とかそういうキーワードは聞いたことあったけど、正直よく知らんかった。
「Dockerの基礎」を教えてくれるハンズオンセミナーに参加してきたので、「最低限理解しておきたいこと」をメモとして残しておく。
(※あんまり自信は無い。曲解があるかも)

「仮想化ソフトウェア」

Dockerとは、「コンテナ型の仮想環境」を「作成、配布、実行」するためのプラットフォーム。
「仮想化されたコンテナ」の上で、さまざまなミドルウェアを実行させることができる。

Dockerのメリット①「速い」

VMWareとかは、「PC全体を仮想化」するイメージで動作している。
Dockerは「ミドルウェアを実行する部分を仮想化」しているイメージのため、動作が速い。

Dockerのメリット②「Dockerfile」

「Dockerfile」は、「環境構築のための情報」が色々記載されたファイル。
また、ファイルの中身を見ることで、その環境の情報(使っているソフトとかバージョンとか)がすぐ分かる。
Dockerfileをビルドすることで、環境を構築できる。

「Githubとかでバージョン管理する」こともできるし、「開発メンバが増えた際の環境構築が楽になる」という、色々なメリットがある。
(実際の現場では、「インフラ担当のメンバ」がゴリゴリDockerfileを書いて、それを使うことが多いらしい。)

Dockerの色んな用語

「コンテナ」

実際に「ミドルウェアが動いている部分」みたいな感じ。
コンテナで区切られて実行されているため、「同じミドルウェアのバージョン違い」も同時に実行することができる。(別のIPアドレスで実行されている)

「イメージ」

コンテナを動かすための「設計図」みたいな感じ。
「イメージ」を落としてきてから(docker pullコマンド)、「コンテナ」を実行する(docker runコマンド)。

「公開されているイメージ」を使う

1からDockerfileを記述して環境構築することもできるが、初心者は「公開されているイメージ」を基に環境構築するのが楽。
DockerHubから探して落としてくる。インストールやrunの仕方(コマンド)も乗っているため、すぐに使える!
DockerHub

Dockerで使えるコマンド

実行中のプロセスを表示

コマンド
docker ps

CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
4accd55b32c4        microsoft/mssql-server-linux   "/opt/mssql/bin/sqls…"   4 seconds ago       Up 3 seconds        0.0.0.0:1433->1433/tcp   jovial_euler

コンテナの起動、停止、再起動

起動
docker start コンテナID
停止
docker stop コンテナID
再起動
docker restart コンテナID

コンテナを削除する

コマンド
docker rm コンテナID

コンテナへ接続

ミドルウェアの中で吐かれるログを確認したいときは、このコマンドで中に入ってログを見る。

コマンド
docker exec -it コンテナID /bin/bash

イメージを確認

コマンド
docker images

REPOSITORY                     TAG                   IMAGE ID            CREATED             SIZE
mongo                          latest                a0f922b3f0a1        10 days ago         366MB
nginxhttpphpmysql_php          latest                348d430cfda8        3 weeks ago         79.5MB
microsoft/mssql-server-linux   2017-latest           741bd53beb22        5 weeks ago         1.42GB
microsoft/mssql-server-linux   latest                741bd53beb22        5 weeks ago         1.42GB
mysql                          5.7.21                5195076672a7        6 weeks ago         371MB
nginx                          1.13.9-alpine         537527661905        2 months ago        17.9MB
php                            7.2.2-fpm-alpine3.6   59d3e94a05b7        2 months ago        77.2MB

イメージを削除

コマンド
docker rmi imageID

Dockerを使って...

Docker上でASP.NETアプリケーションが動かせるようにしてみたい。

SQLServer

とりあえずSQLServerをインストールしてみた。

pullコマンド
docker pull microsoft/mssql-server-linux

DockerHub - SQLServer

起動
docker run -e ACCEPT_EULA=Y -e SA_PASSWORD=P@ssw0rd! -p 1433:1433 -d microsoft/mssql-server-linux

参考URL

Docker入門(第一回)~Dockerとは何か、何が良いのか~

Dockerとは|4つの特徴と基本的な使い方

5
8
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
5
8