メモ > サーバ > 各論: Docker > メモ
メモ
以下、引き続き検証メモ
■Node.js(Docker Compose なしで単体起動する場合)
Node.js ウェブ・アプリの Docker 化 - Docker-docs-ja 1.11.0 ドキュメント
http://docs.docker.jp/engine/examples/nodejs_web_app.html
起動したが、CentOS6のダウンロードからなので時間がかかる?
Node.js用のイメージがあれば、その方が良さそう
docker image build -t refirio/centos-node-hello .
docker image ls
docker container run -p 49160:8080 -d refirio/centos-node-hello
curl -i 127.0.0.1:49160
http://127.0.0.1:49160/
以下なども参考にして、再度構築を試したい
3000版ポートでnode.jsにアクセスできるようにして、
さらにnginx経由でポート指定無しでアクセスできるようにしてみる
nginx無しで80版ポートにアクセスさせられるかも試したい
Dockerでnginx+node.jsのSPA構成を試す - Qiita
https://qiita.com/KeitaMoromizato/items/bfc3e22dae47211eff4f
■Ruby on Rails
Docker + Ruby on Rails 5 のメモ - Qiita
https://qiita.com/yuki-maru/items/3ee8e52cebbfc036c023
この手順でRailsを起動できた
http://127.0.0.1:3000/
次回からは以下で起動できる
$ cd docker/compose_ruby
$ docker-compose build
$ docker-compose up -d
$ docker-compose down
docker-compose.yml を以下のように編集すると、http://127.0.0.1/ でアクセスできた
web:
build: .
command: bundle exec rails s -p 80 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "80:80"
■疑問点とメモ
・dockerのgit管理
汎用的な環境というより、特定の案件の環境を管理するためのもの。だと思う
それなら、プログラムと同じリポジドリで管理すれば良さそう
・fake s3 というものがあるらしい。ローカルでs3を試せるらしい
LocalStack というのもよく使われるみたい
・上の手順で docker-compose build した場合、REPOSITORYもTAGも「<none>」のイメージが作られる?こういうもの?名前は指定できる?
以下で環境を立ち上げるとどうなるか試す
http://koni.hateblo.jp/entry/2017/01/28/150522
・apache_php8_mysql のファイル構成は以下も参考に再考する
http://koni.hateblo.jp/entry/2017/01/28/150522
・カスタムイメージを作成した場合、それも同梱するか
つまりイメージ自体に手を加えたら、各々の環境でイメージをインポートしなおしてもらう
Dockerは専用リポジトリで管理すべきか
・custom.cnf はこの名前でいいか
と思ったが、公式の推奨手順みたい
Dockerの公式MySQLイメージの使い方を徹底的に解説するよ - DQNEO起業日記
http://dqn.sakusakutto.jp/2015/10/docker_mysqld_tutorial.html
・複数人が同じ開発環境を再現する場合、イメージを更新した場合はどうするか
小さな更新なら Docker Compose や Dockerfile の CMD で実行すれば良さそう
大きな修正なら、Docker Hub などで管理しておく必要がある?でも Docker Hub のプライベートリポジトリは有料みたい
イメージ自体をリポジトリに入れて、必要なときにインポートしてもらえばいいかも?
docker - コマンドはdocker-compose.ymlとDockerfileのどちらで定義するほうがいい? - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/30495/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AFdocker-com...
・本番環境に使う場合、Amazon ECS を検証したい
・VagrantにDockerをインストールする方法。本番環境のCentOSなどにも応用できるかも
http://tech.respect-pal.jp/docker_tutorial/
■以下を参考に、上の構成を調整する
ファイルの設定内容のを参考に
https://qiita.com/osyoyu/items/a039b7e05abc6e97fb25
php.iniの配置方法の参考に
https://github.com/koni/docker-php-nginx-mysql-memcached/
復習に良い
https://dev.classmethod.jp/tool/docker/develop-with-docker/
参考に
https://qiita.com/aild_arch_bfmv/items/d47caf37b79e855af95f
■Docker で Amazon Linux を動かす
amazonlinux - Docker Hub
https://hub.docker.com/_/amazonlinux/
Docker for Windows から Amazon Linux を起動してみた | KDL 情's Cafe BLOG
https://blog.ismg.kdl.co.jp/virtualization/docker/docker_run_amazonlinux
DockerにAmazon Linuxを入れて、Nginxが動くようにする - Qiita
https://qiita.com/areaz_/items/4f79a7c0175c7ef20cc0
■Fargate
AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS
https://aws.amazon.com/jp/fargate/
AWS Fargateとは? - Qiita
https://qiita.com/riywo/items/1a5b50028542d9bb06cc
2019年1月にAWS Fargateが大幅値下げしたのでEC2との価格比を確認してみた | DevelopersIO
https://dev.classmethod.jp/cloud/aws/compare-fees-for-fargat-and-ec2-2019-1/
■Kubernetes
今さら人に聞けない Kubernetes とは? - Qiita
https://qiita.com/MahoTakara/items/85096f8b2632c802ab22
10分くらいでわかる、KubernetesとEKSの何が便利なのか - Qiita
https://qiita.com/masachaco/items/3e50a1ac65cdd661a734
数時間で完全理解!わりとゴツいKubernetesハンズオン!! - Qiita
https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d
Amazon EKS(AWS でマネージド Kubernetes を実行)| AWS
https://aws.amazon.com/jp/eks/
コンテナ移行ってこんなに大変? 〜「家族アルバム みてね」を支えるインフラの裏側〜 / Container migration in FamilyAlbum - Speaker Deck
https://speakerdeck.com/isaoshimizu/container-migration-in-familyalbum
数時間で完全理解!わりとゴツいKubernetesハンズオン!! - Qiita
https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d
2019年版・Kubernetesクラスタ構築入門 | さくらのナレッジ
https://knowledge.sakura.ad.jp/20955/
Kubernetesの自前運用は難しい? はてなの撤退事例:「専任エンジニアが2人以上欲しい」 - @IT
https://www.atmarkit.co.jp/ait/articles/1911/08/news009.html
Kubernetes ベスト プラクティス 6 選 | Google Cloud Blog
https://cloud.google.com/blog/ja/products/containers-kubernetes/your-guide-kubernetes-best-practices
急成長のfreeeに学ぶ、進化するアーキテクチャ――Kubernetes×AWSで複雑化したマイクロサービス基盤を改善 (1/2):CodeZine(コードジン)
https://codezine.jp/article/detail/11863
■引き続き参考にしたいページ
Dockerのイメージ削除時のエラー「Error response from daemon: Conflict, cannot delete image」対策 - tsunokawaのはてなダイアリー
http://tsunokawa.hatenablog.com/entry/2016/04/26/000507
そろそろDockerを始めないとやばいと思い始めたあなたへ | 東北ギーク
http://tech.respect-pal.jp/docker_tutorial/
docker-composeを使うと複数コンテナの管理が便利に - Qiita
https://qiita.com/y_hokkey/items/d51e69c6ff4015e85fce
docker-composeのvolumesで指定したホストのディレクトリがマウントされずハマった | Black Everyday Company
https://kuroeveryday.blogspot.jp/2016/11/docker-compose-volumes.html
Dockerで作る最強のWeb開発環境2017 - Qiita
https://qiita.com/osyoyu/items/a039b7e05abc6e97fb25
Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog
http://techblog.kayac.com/developing-with-docker-compose
社内用Docker環境をつくる〜Docker Registry on EC2とDocker for AWSについて〜 | Recruit Jobs TECHBLOG
https://techblog.recruitjobs.net/development/docker-registry-on-ec2_and_docker-for-aws
AWS ECSでDockerコンテナ管理入門(基本的な使い方、Blue/Green Deployment、AutoScalingなどいろいろ試してみた) - Qiita
https://qiita.com/uzresk/items/6acc90e80b0a79b961ce
Amazon EC2 Container Serviceで構築されたシステムでDockerコンテナを入れ替える | Developers.IO
https://dev.classmethod.jp/cloud/aws/switch-docker-container-using-ecs/
Amazon EC2 Container Service コンソールチュートリアルをやってみた | Developers.IO
https://dev.classmethod.jp/tool/docker/try-the-amazon-ecs-console-tutorial/
Dockerfileを書くときに気をつけていること10選 - Qiita
https://qiita.com/c18t/items/f3a911ef01f124071c95
さくらVPSでdocker使って5分でWordPressを構築する - Qiita
https://qiita.com/haruto167/items/0faba1b67ceb14e035e0
Amazon Linux 2 でdockerを使ってみる (Apache2.4) - Qiita
https://qiita.com/reflet/items/3b818fbfb14ba5c7ef47
CentOS7にDockerをインストールしてみた。 - Qiita
https://qiita.com/ysuzuki963/items/a31c31735e5b8bed06fe
【アップデート】ECSタスク定義を利用したローカル環境でのテスト実行が可能に! | DevelopersIO
https://dev.classmethod.jp/cloud/aws/ecs-local/
プラットフォームの上でものを作るということ | TORI
https://toris.io/2019/12/what-i-think-about-when-i-think-about-kubernetes-and-ecs/
DXを大幅に低下させるDocker for Macを捨ててMac最速のDocker環境を手に入れる - Qiita
https://qiita.com/yuki_ycino/items/cb21cf91a39ddd61f484
【ハンズオン】Docker+KubernetesでHelmを使ってみよう - Qiita
https://qiita.com/kimurayut/items/df6cb2c418bcfba66f59
Dockerfileのベストプラクティス Top 20 | Sysdig
https://sysdig.jp/blog/dockerfile-best-practices/
長年運用されてきたモノリシックアプリケーションをコンテナ化しようとするとどんな問題に遭遇するか? / SRE NEXT 2022 - Speaker Deck
https://speakerdeck.com/nulabinc/sre-next-2022