Docker Composeは普段使っていて大体設定の内容が理解できるけど、Kubernetesはちょっと難しそう・・・。そんな風に思っている人のためのKubernetes入門書です。最後のページでは「Docker ComposeじゃなくてKubernetesを選びたい理由」や「ECS、App Runner、Cloud Runの違い」などについてもカバーしています。
To get started with Docker Engine on Ubuntu, make sure you meet the prerequisites, and then follow the installation steps. PrerequisitesFirewall limitations Warning Before you install Docker, make sure you consider the following security implications and firewall incompatibilities. If you use ufw or firewalld to manage firewall settings, be aware that when you expose container ports using Docker,
Apple M1チップ対応「Docker Desktop」、x86用のコンテナイメージのビルドと実行も可能。Docker社が説明 Docker社は、現在テクニカルプレビューとして提供されているApple M1チップ対応の「Docker Desktop for Mac」がマルチCPUアーキテクチャ対応として開発されており、ARM用コンテナイメージに対応するだけでなく、x86用コンテナイメージのビルドと実行にも対応することを「Download and Try the Tech Preview of Docker Desktop for M1」で説明しました。 「Download and Try the Tech Preview of Docker Desktop for M1」から引用します。 The new Docker Desktop on M1 is no exception; you
dockerにあるサンプルで作る環境はRuby2.5+Rails5+PostgreSQLと古め且つPostgreSQLだったので、 それぞれ新しいバージョンである Ruby2.7&Rails6.0&MySQL8.0の場合で書き換えたものです。 ※2020年6月8日時点ではRuby2.7.1, Rails6.0.3.1, MySQL8.0.20になります ファイルの用意 Dockerfile Gemfile Gemfile.lock entrypoint.sh docker-compose.yml .env ※ docker及びdocker-composeのインストールは済んでいること ※ アプリケーションの名前はmyappとし、変更する場合は適宜置き換える 1. Dockerfileの用意 FROM ruby:2.7 # or latest # nodejsとmysql-client (d
Docker for Mac を捨てたい とある Rails プロジェクト (ここでは仮に kemurikusa プロジェクトとする) では、Rails サーバや Action Cable, Delayed Job, PostgreSQL を Docker Compose で動かすようにしている。僕のマシンは Mac なので、Docker を動かすのに Docker for Mac を使っている。しかし Docker for Mac を使っていて 2 つの致命的な問題に遭遇した。 ひとつは「com.docker.hyperkit プロセスの CPU 使用率が 150 〜 300% という高数値のままになってしまう」という問題だ。 docker/for-mac » Issue #1759 » High CPU Utilization of Hyperkit in Mac 上記の issue
はじめに Rails 6.0 x Docker で環境構築しようとしたら思いのほか手こずったので、メモとして投稿します。 勉強中の初学者による記事です。誤りがあればご指摘いただければ嬉しいです! 各種バージョン 下記のバージョンにて動作確認しています。 macOS Mojave 10.14.6 Ruby 2.6 Rails 6.0.0 Docker 19.03.1 docker-compose 1.24.1 MySQL 8.0 手順 公式ドキュメントに従い、下記の流れで構築していきます。 なお、ドキュメント内では rails 5 系で進めているため、適宜 rails 6 系に読み替えます。 各種ファイルの用意 rails new でアプリ作成 イメージのビルド database.yml の設定と DB 接続 コンテナ起動 一つずつ詳しくみていきます。 1. 各種ファイルの用意 任意のディレ
概要 Dockerでの開発環境構築に慣れていない私は、練習がてら公式の手順を元にRailsの開発環境を構築してみることに。 https://docs.docker.com/compose/rails/ その時ハマった事象と解決方法のメモ。 落とし穴 最近 Rails6がリリース されたということで、せっかくだから使ってみるかな! →それが悲劇の始まりとは知る由もなく... Your Ruby version is 2.6.3, but your Gemfile specified 2.6.0 問題 事象 Build the Project の手順でdocker-compose build した時に出たエラーメッセージ。 $ docker-compose build db uses an image, skipping Building web Step 1/15 : FROM ruby:2
早いものGWも終わり一週間が経ってしまいました。 長期の連休になるとだいたい自分は趣味のアプリケーション開発をよくすすめています(ふだんからやりたいけどなかなかできない)。今年のGWも趣味アプリケーションの開発をしてました。 いま作っているアプリケーションは自分の英語学習用のサービスなのですが(サービスについては別途どこかでご紹介したい)、新しい技術を実際に試す場としても利用しています。自分はいつも趣味アプリケーションで新しいことを試してみて、よかったらそれを職場にもっていくことが多いです。 アプリケーションはRailsで書いているのですが、Railsの他にMySQLやNginx、ElasticSearch、Kibanaなど関連するコンポーネントが多いです。 そのため、Docker Composeを利用して動かすことにしています。Dockerは以前から使っていたのですが、実際にアプリケーシ
Dockerコンテナ内のプログラムを定期的に実行したい! そんな時のための備忘録です。 素のLinux環境の場合はcronに設定を入れるだけでOKなのですが(実行権限とか、環境変数の話とかありますが)、Dockerでこれをやろうとするとひと手間必要です。 ディストリビューションに限らず、選択肢は3つあります(と思っています)。 (2018/03/16追記:kubernetesにはcronjobというものがあるようです。他のオーケストレーションツールにも何か似たような仕組みがあるかもしれません) コンテナ内でcronを直接起動する コンテナ内でsupervisordからcronを起動する ホストのcronからコンテナ内の対象プログラムを実行する 以降、順を追って解説します。 今回確認に使用したのは次の環境です CentOS Linux release 7.4.1708 (Core) Dock
$ tree ├── README.md ├── docker # DockerやDocker Compose │ ├── containers # 各コンテナ(イメージ) │ │ ├── mysql # MySQL 5.7 │ │ │ ├── Dockerfile # MySQL 5.7のDockerファイル │ │ │ ├── grant_user.sql # 初期セットアップでユーザを作成するスプリプト │ │ │ └── my.cnf # 初期セットアップで反映するmy.cnf │ │ ├── nginx # Nginx 1.15.2 │ │ │ ├── Dockerfile # NginxのDockerファイル │ │ │ └── nginx.conf # 初期セットアップで反映するnginx.con
上記の記事で紹介したDocker環境でRuby on Railsの開発はできますが、実は少しだけ問題点があります。 それは、新しくgemを追加した場合、Dockerイメージを再度ビルドしないとコンテナが起動できないという点です。 DockerイメージをビルドすることでDockerファイルで定義されているbundle installが実行されるのでコンテナは問題なく起動できます。 しかし、gemの追加後、もしDockerイメージのビルドせずにコンテナを起動すると、『Bundler::GemNotFound』というgemが見つからないことを意味するエラーが発生し、コンテナが起動できません↓ $ docker-compose up Starting rails_app_db_1 ... done Starting rails_app_web_1 ... done Attaching to rai
概要 Ruby on Rails の勉強のために sandbox-rails を作って色々実験中。 まずは Quickstart: Compose and Rails を参考に基本となるプロジェクトを作成。 次に自動テスト環境を構築したいので、一先ず rubocop を入れて CircleCI 上で動くようにしたい。 そこで Installing and Using docker-compose を参考にして CircleCI 用の設定を書いていく。 ここで問題が。手元で動く rubocop が CircleCI 上で動いてない。 Using Docker Compose with Docker Executor に書いてあるけど、setup_remote_docker を使っている場合 ボリュームマウントは機能しない とのこと。 これに気付いて docker-compose.yml から
概要 ホストからコンテナ(が持ってるvolume)へのコピーはdocker cpでできます。 しかしホストから直接volume単体にコピーするのはどうすれば良いのだろう?と思って調べたところ地味にサポートされていなかったのでメモとして残します。 環境 Docker v18.03.1-ce 方法 こちらで議論されてました。 github.com issue自体は関連issueでどうするか進める、という結論であとはワークアラウンドが書かれています。 ※議論を進めているissueも実装が難しい割に簡単なワークアラウンドがあるので置いておきますで止まってます ワークアラウンド 以下です。 $ docker container create --name dummy -v myvolume:/root hello-world $ docker cp ~/myfile.txt dummy:/root/
ぜんぜんわからない、俺たちは雰囲気で Docker を使っているシリーズ、volume です。 $ docker -v Docker version 18.03.1-ce, build 9ee9f40 volume を使ってマウント 別コンテナで同じ volume をマウント ファイルが既に存在するディレクトリに volume をマウントしたら? --volumes-from で複数ボリュームを持つコンテナを指定してみる バックアップ 参考文献 まず、Docker においてデータを扱う場合、その扱いとしては、大きく 3 つに分けられます。 bind mount volume tmpfs mount Manage data in Docker | Docker Documentation より引用 bind mount は Docker ホストの任意のファイル・ディレクトリを Contain
こちらの記事の続きです RSpec on DockerでChromeブラウザテストを行う方法 DockerでのRuby on Rails環境構築を一つずつ詳解する CircleCI→herokuのCI/CDパイプライン構築手順 手順としては上記記事の続きであり ・Dockerでの開発環境を構築している ・単体テスト・統合テストをDockerコンテナ内で実行できる ・Github→CircleCI→herokuのCI/CDパイプラインを構築している を前提としています。 今回はこれらを組み合わせて CicleCIでの自動テスト環境にdocker-composeを利用していきたいと思います。 これにより開発環境、テスト環境、本番環境の環境差分が無くなります。 CircleCIでDocker使用時はMachine Executor CircleCIでは通常はdocker環境でテストを実行させるよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く