UdemyにがっつりDockerを解説してくれる動画が追加されていたので紹介します。
ゼロからはじめるDockerによるアプリケーション実行環境構築
▶ゼロからはじめるDockerによるアプリケーション実行環境構築
ぽんぽこ
この記事の内容は?
学習内容
「ゼロからはじめるDockerによるアプリケーション実行環境構築」の学習内容です。以下はUdemy公式サイトに書いてある内容です。
■Dockerを用いてアプリケーション実行環境を構築できるようになります
■開発したアプリケーションをクラウド環境で動作させることができるようになります
■Dockerを使用して様々なミドルウェアを簡単に試すことができるようになります
カリキュラムは?
基本的な内容から始まって、最後の方は深いところまで解説してくれます。AWSやGCPといった外部サービスでDockerを使用する方法の解説や、具体的なプロジェクト開発(DjangoやRuby on Rails)を行う方法の解説もありました。
動画は5.5時間でした。ややゆっくり目な話し方のため、速度を上げて視聴しても良いでしょう。(私は例によっていつもの2倍速で視聴して、気になるところは止めたりして完走しました。)
Udemy公式サイト上での説明は以下の通り。
コンテナの実行方法を学び、Ruby on RailsやDjangoといったWebアプリケーションフレームワークを使用した環境構築について学びます。Docker MachineやSwarmといったDocker関連技術についても学びます。
- セクション1. はじめに
- セクション2. Dockerを理解しよう
- セクション3. Dockerのインストール
- セクション4. Dockerコンテナの実行
- セクション5. Automated Build
- セクション6. Docker Machine
- セクション7. Dockerのネットワーク
- セクション8. Dockerのデータ管理
- セクション9. Docker Compose
- セクション10. Swarm Mode(追加中)※記事公開時点
最初はこんな感じで進んでいきます。↓
- Dockerの説明
- Dockerイメージの説明
- Dockerコンテナの説明
- Docker Hubの説明、リポジトリの作成方法
- コマンドの操作方法の解説
- Dockerファイルの作成方法
徐々にステップアップしていきます。
オススメだと思う人
動画ってわかりやすくていいですよね。「Dockerってこんなもの」というイメージが爆速で持てるようになると思います。
- Docker初心者
- Dockerを触ったことはあるけど実際よく分かってない人
- Dockerを挫折したことがある人
- さくっと動画でDockerのイメージをつけたい人(公式のチュートリアルなどをやる前に)
公式サイトに書いてある受講対象
こんな感じで紹介文が書かれています。
- Dockerに興味がある方、Dockerを使用した環境構築について学びたい方
- 業務でDockerを使うため、もしくは興味からDockerについて基礎から学びたい方
- インフラエンジニアになりたい方、
- 最新の技術を習得して収入アップを目指したい方
- DevOpsについて興味がある方
※DevOpsについてはWikiから引用。
DevOps(デブオプス)は、ソフトウェア開発手法の一つ。 開発 (Development) と運用 (Operations) を組み合わせたかばん語であり、開発担当者と運用担当者が連携して協力する開発手法をさす。
良いところ
わかりやすいです。
- ひとつひとつの説明が丁寧
- 都度図を使ってDockerの動きを解説してくれる(気になるところはキャプチャを撮って持っておくと便利かも。スライド資料はダウンロードできるようにしてくれたらウレシイ。Udemy上にはそういう機能があるので。^^;)
- Mac、Windowsどちらも解説
- Dockerが推奨しているDocker for Mac、Docker for Windowsを使うが、これらが使えない人向けにDocker Toolboxの説明も入れてあるので親切
- 具体的な開発(Ruby on RailsやDjango)の環境構築が見れる
- 外部サービスでDockerを使う方法がわかる(AWS、GCP等)
とにかく解説が丁寧です。動画を見ながら手元でDockerを実際に動かして見るとよいでしょう。
まずまずなところ(?)←むしろ正解だった
・・・これは仕方がないですよね^^;
- コマンドの解説画面はスマホでは文字が小さい場合も。(←全体を見せてくれようとしてくれてるので仕方ないと思います。文字大きくしたら改行だらけで逆に見にくいかも。なのでこれが正解かもしれないです。)この動画はどちらかというとPCやタブレットでの視聴がオススメです。(都度ズームしてみればスマホでも見れると思います。)
↑実際にスマホ(iPhoneX)で表示してみました。ちょっと文字が小さいですね。ピンチアウト(2本指で広げる)して拡大すればいいだけかも。
ぽんぽこ
あるといいなと思ったこと
- ローカルでDjangoやRuby on Railsの環境構築を丁寧に見せてくれたので、それを使ってAWSやGCPへのデプロイまで見せてくれると、流れがわかるのでもっと良かったなと。(※セクション6でAWSやGCPへのプロビジョニングについては解説があります。)
これがあれば至れり尽くせり。笑
例えばDjangoだと、AWS(or GCP)に適当なOS + Nginx + gunicorn + Djangoの解説まであると、実務での使用を考えている人には重要な資料になりそう。
ぽんぽこ
参考:Dockerではないけれど・・・
ちなみに、Dockerには触れてないですが、同じUdemyの動画で、AWS(EC2) + Ubuntu + Nginx + gunicorn + Djangoという組み合わせを解説してくれるものも登場しています。
【3日でできる】はじめてのDjango入門 (Python 3 でウェブアプリを作ろう)
▶Udemy【3日でできる】はじめてのDjango入門 (Python 3 でウェブアプリを作ろう)
ぽんぽこ
解説してくれるDockerコマンド例(一部)
最後にどーんと紹介。
ちょっと見にくいですが、解説してくれるDockerコマンドの例を以下にずらずらと並べます。(全部ではないです。また、汎用例と使用例が混ざってます。汗)ホント並べてるだけですので雰囲気だけ感じていただければ…
Dockerが全くわからない人はもちろんですが、「このコマンドってイマイチわかってないんだよなー」というものがあれば、Udemyのサイトもチェックしてみてください。参考になれば幸いです。
解説コマンド例 |
---|
docker run |
docker run hello-world |
docker create |
docker start |
docker run |
docker run docker/whalesay cowsay Hello!! |
docker images |
docker inspect |
docker rmi |
docker rmi docker/whalesay |
docker pull |
docker pull docker/whalesay |
docker build |
docker build -t docker-whale . |
docker build –no-cache -t docker-whale . |
docker login |
docker tag docker-whale udemylecture/docker-whale:ver1 |
docker push docker-whale udemylecture/docker-whale:ver1 |
docker pull docker-whale udemylecture/docker-whale:ver1 |
docker run –name -d -p test-nginx 8080:80 nginx |
docker stop test-nginx |
docker rm test-nginx |
docker run –name -d first-nginx -v /Users/xxxx/docker-tutrial/html:/usr/share/nginx/html:ro -d -p test-nginx 8080:80 nginx |
docker run –name tmp-nginx –rm -d nginx |
docker cp tmp-nginx:/etc/nginx/conf.d/default.conf ./ |
docker build -t nginx:ve1 . |
docker create –name status-test -it alpine /bin/sh |
docker ps |
docker ps -a |
docker start status-test |
docker pause status-test |
docker inspect status-test |
docker unpause status-test |
docker stop status-test |
docker run –name connnect-test -it -d ubuntu /bin/bash |
docker attach connect-test |
docker exec -it connnect-test /bin/bash |
docker run –name commit-test -it -d –rm ubuntu /bin/bash |
docker exec -it commit-test /bin/bash |
docker history commit-test:ver2 |
docker run –name reverse-proxy -p 8080:8080 –link static:ss -d reverse-proxy |
docker-machine ls |
docker-machine create –driver virtualbox default |
docker-machine env default |
docker-machine ip default |
docker-machine stop default |
docker-machine start default |
docker-machine env -u |
docker-machine create –driver amazonec2 –amazonec2-open-port 8000 –amazonec2 ap-northeast-1 aws-sandbox |
docker run -d -p 8000:80 –name webserver kitematic/hello-world-nginx |
docker-machine stop aws-sandbox |
docker-machine create –driver google –google-project docker-test-18601 –google-zone asia-northtest1-a vm01 |
docker-machine ssh vm01 |
docker-machine ip vm01 |
docker network ls |
docker network inspect bridge |
docker run -itd –name alpine2 alpine /bin/sh |
docker network create my_nw |
docker network connect my_nw alpine1 |
docker network connect my_nw alpine2 |
docker network disconnect bridge alpine2 |
docker run -d –name consul -p 8500:8500 -h consul agent -server -bootstrap -client 0.0.0.0 |
docker network create –driver overlay –submit=10.0.9.0/24 mh-net |
docker volume create my-vol |
docker volume ls |
docker volume inspect my-vol |
docker volume rm my-vol |
docker run -itd –name mount-c1 -v vol1:/app nginx:latest |
docker run -itd –name mount-c2 –mount,target=/app nginx:latest |
docker run -itd –name mount-c3 –mount source=copy-vol,destination=/etc/nginx nginx |
docker run -itd –name mount-c4 –mount source=copy-vol,destination=/etc/nginx,readonly nginx |
docker run -itd –name mount-c5 -v copy-vol:/etc/nginx:ro nginx |
docker run -itd –name temptest –mount type=tempfs,destination=/app nginx |
docker run -itd –name temptest –mount type=tempfs,destination=/app,tempfs-size=500000000,tempfs-mode=700 nginx |
docker-compose -v |
docker-compose run web django-admin.py startproject examplepj . |
docker-compose up -d |
docker-compose run web python3 manage.py startapp polls |
docker-compose stop |
docker-compose run web rails new . –force –database=postgresql |
docker-compose run wed rake db:create |
docker-compose run web bin/rails g scaffold User name:string |
docker-compose down v |
docker-compose ps |
docker-compose run web bin/rake db:create |
docker-compose run web bin/rake db:migrate |
docker swarm init –advertise-addr xxx.xxx.xxx.xxx |
docker info |
docker node ls |
docker swarm join-token worker |
docker service create –name web –replicas 5 –detach=true nginx |
docker service ls |
docker service update –published-add 8000:80 –detach=true web |
docker service rollback –detach=true web |
docker service remove web |
おわりに
というわけで、今回はUdemyの動画「ゼロからはじめるDockerによるアプリケーション実行環境構築」を紹介しました。
解説が丁寧なのと、解説の範囲が広いのでDocker初心者も経験者も何かしら学びがあると思います。
持っておいて損はない動画だと思います!
ぽんぽこ
この動画の詳細を見るには?
「ゼロからはじめるDockerによるアプリケーション実行環境構築」については以下からご確認ください。Udemyのサイトではサンプル動画やカリキュラムの詳細なども確認できます。また、30日間返金保証制度もあるため利用者には安心です。
▶ゼロからはじめるDockerによるアプリケーション実行環境構築
ぽんぽこ