Dockerの基礎の基礎の基礎
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考記事>
Dockerfileとdocker buildコマンドでDockerイメージの作成:いまさら聞けないDocker入門(3)(1/2 ページ) - @IT
Dockerfileとdocker buildコマンドでDockerイメージの作成:いまさら聞けないDocker入門(3)(2/2 ページ) - @IT
コンテナ
コンテナは仮想基盤を提供する方式として、従来からのホストOS型、ハイパーバイザ型に加えてここ近年はコンテナ型と呼ばれるものが利用されるようになってきたそう。
メリット
- 起動が速い
- 同じ構成の環境を簡単に再現
デメリット
- ホストとコンテナで異なるOSは使えない
使ってみる
dockerをインストール
yum install docker
dockerを起動し、プロセスを確認
systemctl start docker
ps -efH | grep docker
mkdir /opt/porain
cd /opt/porain/
'dockertest'をindex.htmlにリダイレクト
echo 'dockertest' > index.html
Dockerfileを作成
Dockerfile…Dockerコンテナーの構成内容をまとめて記述するシンプルなテキスト形式のファイル
Dockerfileの記述方法
{命令} | 用途 |
---|---|
FROM | 元となるDockerイメージの指定 |
MAINTAINER | 作成者の情報 |
RUN | コマンドの実行 |
ADD | ファイル/ディレクトリの追加 |
CMD | コンテナーの実行コマンド 1 |
ENTRYPOINT | コンテナーの実行コマンド 2 |
WORKDIR | 作業ディレクトリの指定 |
ENV | 環境変数の指定 |
USER | 実行ユーザーの指定 |
EXPOSE | ポートのエクスポート |
VOLUME | ボリュームのマウント |
vi Dockerfile
###以下を記入
--------------------------
FROM nginx
EXPOSE 80
COPY index.html /usr/share/nginx/html
CMD nginx -g "daemon off;"
--------------------------
my_nginxという名前でDockerコンテナーの起動、構成、Dockerイメージの作成
まで一気に実行
docker build . -t my_nginx
Dockerイメージ一覧を確認
docker images
Docerコンテナを起動
docker run -d -p 80:80 --name web my_nginx
Dockerコンテナ一覧を確認
docker ps
以上