This is a Pen

プログラミングとITと日記

dockerを覚える

(´◉◞౪◟◉)Dockerを覚えたい!
(´◉◞౪◟◉)そうだ!メモを書こう。

(´◉◞౪◟◉)自分専用めもだぜぇ盛るぜぇ~超盛るぜぇ~

自分専用メモ/その他もろもろ

  • 適当にDocker関連のメモを残す、本当にメモ。
  • 不定期更新されます。たぶん、されます。

Docker

  • Dockerfileの作り方
  • 仮想化ってなに?コンテナおいしいの?
  • MAMPとかXAMP?VirtualBoxとちがうん?
  • どうせ流行に皆乗ってるだけでしょ?

効率的にDockerfileを書くには1行ずつ進めること
成功したらそれをまとめてDockerfileにすること

失敗したらexitして途中までcommitしたところで再開、
runする

おすすめOS→Alphine Linux

  • .dockerignoreの存在
    gitignoreと同様、buildする際に無視する項目を記述するファイル

おすすめDocker動画


  • 流れ
    1. 動画を見た、Docker公式動画計3時間
    2. その他の動画おおよそ3時間

  1. Dockerを選ぶ理由
  2. Dockerの仕組み
  3. Docker

Dockerfileの役割

  • いわば設計書みたいなもの
  • どのイメージをベースにするか
  • どのようなコマンドを実行するのか

Dockerfile コマンド

Dockerfileコマンド 機能的な
FROM ベースイメージの指定 FROM ubuntu
RUN コマンドの実行 RUN yum -y install nginx
CMD コンテナ実行時に実行するコマンド CMD echo "hello"
ENTRYPOINT *1コンテナ実行時に実行するコマンド CMD echo "hello"
ADD ファイル系をコンテナに追加 ADD ./code /usr/share/nginx/html
MAINTAINER 管理者の情報追記 MAINTAINER matsuken

docker build で構築、開始

  • docker build -t <repo:tag> <dockerfileのパス>
    • docker build -t matsuken/test1.
FROM ubuntu
MAINTAINER matsuken

RUN sudo apt-get update \
    sudo apt-get install -y
RUN echo hello-world

CMD ["○○","○○","○○;"]

docker-composeについて

  • 複数のコンテナを一括操作、管理できるようなもの
  • 複数のコンテナ(サービス)を管理
  • ファイル拡張子.yml
wordpress:
 image: wordpress
 links:
  db: mysql
 ports:
  -8080:80
 
db:
 image: mariadb
 environment:
  MYSQL_ROOT_PASSORD: example

Dockerfileとdocker-composeの違い

  • Dockerfileで環境を定義するものに対し
    docker-compose は環境を構成する各サービスを定義するもの

Dockerコマンド忘備録

Dockerコマンド 大体の機能 例みたいな 多用するオプション的な
docker run イメージからコンテナを作成または起動 docker run -it ubuntu bash -it
docker ps 起動中のコンテナプロセスの表示 docker ps -a -a
docker stop/start スタートあんどストップ docker stop <コンテナ名> -
docker rm コンテナ名 コンテナ削除 docker rm <コンテナ名> -
docker rmi イメージ名/コンテナID イメージ削除 docker rmi hello-world -
docker history
docker build - docker build -t <リポジトリタグ>:< Dockerfileのぱす> -
docker commit - docker commit <○○:○○> -t
ポートマッピング docker run -p 8080:80 nginx -p / -P
Volumeマウント docker run -v /hostDir:/container/Dir nginx -v

## その他参考サイト おすすめSlideShareその1
海外Docker記事その1

## リポジトリ(イメージ)の名前空間 * ルート(公式) + ubuntu:latest + nginx * ユーザまたはグループ + matsuken/web * ローカル/プライベートレジストリ * registy.matsu.jp:5000/ken-image

Docker環境管理用の者たち

  • Docker Engine
  • コンテナ実行用platform
  • Docker Machine
  • Docker実行環境の自動構築
  • Docker Swarm
  • クラスタ管理とscheduling
  • Docker Compose
  • 複数コンテナ管理と運用

Docker swarmについて

  • 複数のサーバー、ホストに対して管理を実行できるもの
  • Dockerホスト群をクラスタ化 しどのホストでコンテナで起動するのか。コンテナをスケジュールするためのツール

Related Posts Plugin for WordPress, Blogger...