dockerを覚える
(´◉◞౪◟◉)Dockerを覚えたい!
(´◉◞౪◟◉)そうだ!メモを書こう。
(´◉◞౪◟◉)自分専用めもだぜぇ盛るぜぇ~超盛るぜぇ~
自分専用メモ/その他もろもろ
- 適当にDocker関連のメモを残す、本当にメモ。
- 不定期更新されます。たぶん、されます。
Docker
- Dockerfileの作り方
- 仮想化ってなに?コンテナおいしいの?
- MAMPとかXAMP?VirtualBoxとちがうん?
- どうせ流行に皆乗ってるだけでしょ?
効率的にDockerfileを書くには1行ずつ進めること
成功したらそれをまとめてDockerfileにすること
失敗したらexit
して途中までcommitしたところで再開、
run
する
おすすめOS→Alphine Linux
- .dockerignoreの存在
gitignoreと同様、buildする際に無視する項目を記述するファイル
おすすめDocker動画
- 流れ
- 動画を見た、Docker公式動画計3時間
- その他の動画おおよそ3時間
- Dockerを選ぶ理由
- Dockerの仕組み
- 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について
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
- 複数コンテナ管理と運用