はじめに
この記事は、インターネット上の百科事典や技術情報サイト、ライブ配信を基に、Dockerについて初学者が学習した内容をまとめた備忘録です。
技術的に誤っている点がございましたら、ご指摘いただけますと幸いです。
Dockerとは?
Docker社が開発しているコンテナ型の仮想環境(MacやWindowsなどのホストOS)を作成、配布、実行するためのプラットフォームです。
アプリケーションのデプロイを簡単に行ってくれます。
Dcckerの使い方
Dockerコンテナの操作手順は、Dockerインストール後、Dockerhubでイメージを作成し、コンテナへのビルド、という流れで行われます。
出典: <[Docker入門(第二回)~Dockerセットアップ、コンテナ起動~](https://knowledge.sakura.ad.jp/13795/)>
インストール
Docker公式サイトの「Get Started」からインストールできます。
https://www.docker.com
複数のコンテナを一元管理
Docker Composeを公式サイトからインストールし、利用すると、Apache、MySQL、PHPなど複数のコンテナを同時に立ち上げることができます(この記事では紹介のみ行わせていただきます)。
https://docs.docker.jp/compose/toc.html
イメージ作成
Docker Hub公式サイトからDockerイメージを取得することで、Dockerコンテナを起動後、すぐに使用できます。
https://hub.docker.com
Dockerコンテナの実行例
Dockerがインストールされた環境で、NginxのDockerイメージを使ってWebサーバーを立ち上げるために、以下を実行します。
docker run --name some-nginx -d -p 8080:80 nginx
Dockerfileからイメージ作成
イメージはDockerfileにベースイメージを指定し、コードに環境構築の手順を記載して作成することができます。
実際に、Nginxのイメージを作成します。
- Nginxの設定ファイルを作成します。
mkdir nginx
cd nginx
touch default.conf
-
default.conf
を編集します。
server {
listen 8080;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- Dockerfileを作成します。
touch Dockerfile
-
Dockerfile
を編集します。
FROM nginx:alpine
COPY ./default.conf /etc/nginx/conf.d/
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
- 作成したDockerfileをビルドします。
docker build . -t alpine_nginx
備考
アウトプットもかねて、個人的に要点をおさえた内容を記述させていただきました。
最近は、AWSやAzureどのクラウドサービスでDockerが簡単に使えるサービスがあるようですが、クラウド上にデプロイできると便利そうです。
ここまで拝読していただき、ありがとうございました。
参考文献
- A Memorandum
- Qiita
- YouTube
- さくらのナレッジ
- インフラ技術の「これまで」と「これから」を網羅!インフラ勉強会シリーズ第4弾