[フレーム]
1 - 40 件 / 59件
本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を一部ブラッシュアップしたものになります。 はじめにみなさん、docker composeを利用しているでしょうか? 複数のdockerコンテナをまとめて立ち上げたり、環境変数を定義できたり便利ですよね。 この記事ではある程度docker composeを利用している方向けに私が便利、便利そうと感じたdocker composeの機能を挙げてみました。 docker compose cli v2を利用docker-composeではなく docker composeコマンドも利用可能になっています。 Docker Desktopでは v3.4.0から利用可能で、基本的にはコマンドの互換性あります。 ファイル監視による自動更新docker compose 2.20.0からCompose
エンジニアの岡村です。 自分はサーバーがメインではなく、あまり業務でガッツリ触るわけでもないのですが、最近それなりに活用するようになってきました。しかし、ネット上の日本語情報を読んでいるだけではこれの書き方が正しいのかよく分からない、と悩むことが結構あったため、色々情報を漁ってみました。 この記事は、特に自分が気になった部分の調べた結果を記事に纏めてみたものです。対象読者はdocker-composeを雰囲気でupやdownは叩けるけどComposeファイルの書き方がよく分からんとなってる人です。 Docker Composeの概要とcompose.yaml、Compose Specの関係 compose.yamlの書き方は Compose Specに準拠すればOK Compose Specの場所 推奨のファイル名はcompose.yaml compose.yaml内にバージョンを記述する
(2024年06月21日追記) 本記事のアップデート版を弊社技術ブログに投稿しました。 Tipsの追加に加え、既存Tipsの内容も更新していますので、よろしければご確認ください。 はじめに 皆さん、docker composeを利用しているでしょうか? 複数のdockerコンテナをまとめて立ち上げたり、環境変数を定義できたり便利ですよね。 今回はある程度docker composeを利用している方向けに私が便利、便利そうと感じたdocker composeの機能を挙げてみました。 docker compose cli v2を利用 docker-composeではなく docker composeコマンドも利用可能になってます。 Docker Desktopでは v3.4.0から利用可能で、基本的にはコマンドの互換性あります。 Docker image名やコンテナ名のプレフィックスをディレクト
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
初めに docker composeが使えるようになったので、それについて書いていきます。 正式名称はDocker Compose CLIです。 動作検証した環境は次のとおりです。 $ docker version Client: Cloud integration: 1.0.14 Version: 20.10.6 API version: 1.41 Go version: go1.16.3 Git commit: 370c289 Built: Fri Apr 9 22:46:57 2021 OS/Arch: darwin/arm64 Context: default Experimental: true ... Docker Compose CLIとは 簡単にいうとdocker-composeのGo実装です。docker-composeと互換しています。 docker-composeに置
https://blimpup.io TL;DR docker-compose をリモートで実行するための開発フェーズ向けのサービス ローカルマシンへ負荷をかけずに開発できる URL を発行してくれるため第三者への公開も可能 概要 blimpup はざっくりいうと「docker-compose をリモートで実行する」ためのサービスです。 用途としては本番環境としてではなく開発フェーズでの利用を想定されており、docker-compose を使用した開発の効率化を行ってくれます(k8s のtelepresence に近いイメージです)。 従来開発フェーズで使用していたdocker-compose をローカルで直接コンテナを動かすのではなく、blimp の提供するインフラ上で動かし、ローカルマシンに負荷をかけることなく開発が可能になります。ローカルのファイルと同期を行ってくれるためファイルの更
概要 2021年の後半にDocker Compose V2がリリースされました Docker Compose V2はCompose Spec[1]に準拠しているため、docker-compose.ymlもその仕様に則った書き方ができるようになっています services: app1: image: awesome/webapp configs: - my_config secrets: - server-certificate app2: image: awesome/database extends: service: app1 configs: my_config: file: ./my_config.txt secrets: server-certificate: file: ./server.cert services: app1: configs: - source: my_co
概要 Dockerの本番環境で秘密情報を使う際に、環境変数を使うことは推奨されてません。 秘密情報を扱うには、コンテナオーケストレーションのsecret supportを使うことが推奨されてます。 Docker Composeには秘密情報を扱うために、secretsがあります。(Docker ComposeのsecretsはDocker Swarmと併用することが前提の機能です) 環境変数で秘密情報を扱う時の問題点 秘密情報を扱う時に、よくある方法として、環境変数を使う方法があります。 (この記事において、秘密情報とはパスワード、APIキーを想定します。) しかし、Dockerのドキュメントhttps://docs.docker.com/get-started/07_multi_container/ には While using env vars to set connection set
こんにちは、devcontainer職人です🧑🍳 今回紹介するのはDocker Composeを既に利用している開発環境にかんたんにdevcontainerを構築する方法を紹介します。 VSCodeのdevcontainerはとても良くできた開発環境構築方法なのですが、ちょっと難しそうと思われていたり、VSCode以外のエディタを使う人の開発体験が悪くなるのでは、などの懸念がありまだあまり使われていないような印象があります。今回はそんなdevcontainerを3分で作れるtipsを紹介します。 準備するもの Docker Composeで構築した開発環境 VS Code Docker Desktop for Windows/Mac Remote - Containers extension Docker Composeで構築した開発環境のサンプル 今回用意するのはサンプルとしてRu
Amazon Web Services ブログ Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化 この記事は Automated software delivery using Docker Compose and Amazon ECS を翻訳したものです。 2020 年 11 月、Docker Compose for Amazon ECS の一般提供を開始しました。開発者はコンテナ化されたマイクロサービスベースのアプリケーションをワークステーションから取り出し、AWS クラウドに直接デプロイすることがさらに簡単になりました。以前紹介したこのブログにあるように、開発者は docker compose up コマンドを実行して既存の Docker Compose ファイルをそのまま Amazon ECS にデプロイできます。Docker Comp
人に説明するときに記事あると便利なので、開発環境向けのDockerfileとdocker-compose.ymlを書いておく。 Dockerfile FROM ruby:3.0.0 WORKDIR /app # Using Node.js v14.x(LTS) RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - # Add packages RUN apt-get update && apt-get install -y \ git \ nodejs \ vim # Add yarnpkg for assets:precompile RUN npm install -g yarn # Add Chrome RUN curl -sO https://dl.google.com/linux/direct/google-ch
これまでのDocker Compose入門は、Docker Compoesの紹介に始まり(第1回)、簡単なウェブサーバを起動する方法(第2回)、ネットワークの理解を深める方法(第3回)でした。今回は連載のまとめとして、ネットワークとボリュームの活用によって、1つのサーバもしくはPC上に複数のアプリケーション環境を動かす方法をみていきいましょう。 Docker Composeはプロジェクトごとにネットワークを持つ 前回はDockerのネットワークの扱いを学びました。Dockerコンテナを実行すると、そのコンテナ内のプロセスは、デフォルトで「bridge」という名称の仮想的な内部ネットワークを通して通信を行います。またホスト上のブリッジ(仮想的なネットワーク・スイッチ)を経由して、Dockerが作成する他の内部ネットワークや、ホスト側のインターフェースを通して、インターネットなどの外部ネットワ
docker composeではserviceごとにprofilesという属性を指定できて、起動時にこれを指定することで関連する一連のserviceだけを起動させられる。 どういうシーンで使えるのか。例えばとあるRailsアプリでは、一部の開発者はMySQLやRedisなどのデータストアだけdocker composeで起動して開発し、他の開発者は加えてRubyもdocker composeで起動して開発している。osxfsが遅すぎて、ファイルへの読み書きが頻発する処理がmacOSのDockerでは使い物にならないからだが、この話は今回どうでもいい。さてこのとき、データストア用のserviceに適当な名前のprofileを割り当てておくことで、個々のserviceの名前を逐一指定しなくても起動でき、将来の変更にも強くなって嬉しい。 # profile導入前 docker compose u
TL;DR docker-compose では bind mount の構文が "short", "long" の2通りあるが, それぞれ挙動が異なる docker-compose.yml の volumes に略記法 (short syntax) を用いると, コンテナ内で non-root user を用いる際にエラーの発見が遅れる可能性があるので避けよう 概要 Docker アプリケーション (コンテナ) は, 実行時にホストのファイルやディレクトリをコンテナ内にマウントし, ホストとのファイル共有を行うことができます (bind mount). docker-compose では, Compose ファイル (デフォルトでは docker-compose.yml) にマウント情報を記述することができますが, 構文によっては意図せぬ挙動や, パーミッションエラーを引き起こす原因となり
コンサル部のtobachi(@toda_kk)です。 先日、Docker ComposeによるAmazon ECS対応がGAになりました! AWSによるアナウンス Dockerによるアナウンス 本ブログでも過去に記事がでていましたが、Dockerでは以前からAmazon ECS対応が進んでおりdocker ecsというコマンドがベータ版として提供されていました。 何ができるのか 今回は装いを新たにdocker composeというコマンドで、Amazon ECSでクラスターを作成しコンテナを実行できるようになったようです。 これだけです。もちろん事前にAWSアカウントの認証情報を用意しておく必要はありますが、たったこれだけでECSクラスターが作成されコンテナイメージがFargateで立ち上がります。意味がわからん。 作成されたクラスターを落とすときもdocker compose downで
Containers Deploy applications on Amazon ECS using Docker Compose Note: Docker Compose’s integration with Amazon ECS has been deprecated and is retiring in November 2023 There are many reasons why containers have become popular since Docker democratized access to the core Linux primitives that make a "docker run" possible. One reason is that containers are not tied to a specific infrastructure or
Scaffoldy は、選択したサービスを組み合わせた webサービスの Docker Compose 設定ファイルを作ってくれるwebサービスです。 対話式のフォームに回答していくだけで、docker compose で動作する yml ファイルが作られます。現在選べるのは以下のような項目 言語/環境 - Python / Node.js / その他 .gitignore 等 git の設定 データベース - MySQL / MariaDB / PostgreSQL / MongoDB データベース管理web UI - phpMyAdmin / pgAdmin / Mongo Express キャッシュサーバ - Memcached / Redis メッセージング - RabbitMQ / NATS メトリクス - Prometheus / Grafana その他 - Clickhous
こんにちは、エンジニアの籏野です。 以前、弊社のエンジニアが社内の Dockerfile のベストプラクティスを公開しました。 この頃から更に Docker を用いるための知見が増えてきており、アプリ開発時にはコンテナを利用することが当たり前になってきました。 新規アプリはもちろんのこと、昔からあるアプリに対してもコンテナによる開発環境を用意する動きが多くあります。 コンテナ起動には docker-compose(もしくは docker compose プラグイン)を利用していますが、いろんな開発者がコンテナを利用していると、「自分の環境では少しだけ設定を変えたい!」という場面が出てきます。 そんなニーズに応える docker compose の設定方法を紹介します。 3 行まとめ compose.yml の設定値を変数化しておく 変数は.env で定義する .env をシェルスクリプトで
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Reusable development containers with Docker Compose and Dip — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021年04月21日 著者: Vladimir Dementyev サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: Docker Composeファイルを管理しながら、最小限の労力で複数のDocker環境でコードを実行・テストする方法をご紹介します。YAML設定をいじくる時間を削減し、シンプルなコマンドを1つ実行するだけで任意のホストフォルダから指定の
なんか今日docker for macがアップデート入った。 今まで通りdocker-compose upしたらこんな感じの表示が出た $ docker-compose up Docker Compose is now in the Docker CLI, try `docker compose up` なんかdocker compose upしてみろとか描いてあったので使ってみた $ docker compose up [+] Running 0/1 もうちょっと煌びやかな感じの表示が出ていた。 それっぽいコンテナの起動ログが出た後に The new 'docker compose' command is currently experimental. To provide feedback or request new features please open issues at ht
この記事は Go 2 Advent Calendar 2020 の4日目の記事です。 tl;dr Goでホットリロード(a.k.a Live reload)を利用する際には今までは Realize というライブラリを使っている人が多いが、開発が止まっている。 issueも放置され、go modの対応もされておらず、2020年10月25日現在のモダンな環境で構築を行うと詰まる点が多い。 代わりに Air というライブラリを利用してホットリロードを行う。 Go + docker-composeを利用してホットリロードを利用した開発を行いたいと検索をして一番多かったのがrealizeというライブラリだった。 github.com が、開発が停滞しているようで、issueも溜まっており、go modの対応もされておらず、2020年10月25日 現在の環境で新規に作ろうとすると、いくつもハマる点があった
概要 2022年4月26日、Docker Compose Version 2 (以下「Compose V2」と省略)が GA(一般提供開始)になったと Docker Blog で発表 がありました。 Docker Desktop を利用中の場合 既に macOS および Windows 、Linux (beta版) のDocker Desktop では Compose V2 が初めから入っています。また docker-compose コマンド(中身は環境確認のスクリプトであり、バイナリではありません)は、既に実体としての Compose V2 機能の docker compose を呼び出すか、Comose V1 の docker-compose-v1 を呼び出しています。 Linux 版 Docker Engine を利用中の場合 Linuxでは v20.10.13 以降、現在 curr
はじめに 「自由検証環境提供宣言」というタイトルで前佛から発表させていただきます。 なぜ今日、私がしゃべっているかと言いますと、「さくらのナレッジ」というサイトで、オープンソースソフトウェアの検証ができる環境を提供できますよということをお伝えしたいんですけど、それだけだと、ただの宣伝になってしまってたぶん皆さんつまらないと思いますので、ちょっと耳寄りな話もしたいと思ってます。個人でDockerのドキュメントの翻訳をやってるんですけども、Dockerまわりで皆さんに知ってほしいことがちょっとありますのでお話しします。 全然関係ないんですけど、私はFactorioというロケットを自動的に打ち上げるゲームがとても好きでして、プレイ時間が9,500時間を突破したそうです。もし、このあたりの話を聞きたいとか、あるいはDockerの話を聞きたいとかありましたら、私のTwitterアカウントをフォローし
先程Docker Compose v2.0.0がリリースされた。公式ブログ等では言及されていないが、おそらくCompose v2の正式リリース版ではないかと思われる。 v1は単独のバイナリ(docker-compose)として配布されていたが、v2はCLI pluginとして配布されているため、$HOME/.docker/cli-pluginsにインストールする必要がある。 mkdir -p $HOME/.docker/cli-plugins curl -Lf -o $HOME/.docker/cli-plugins/docker-compose "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-linux-x86_64" chmod +x $HOME/.docker/cli-plugins
composerizeとは composerizeはDockerのコマンドラインをdocker-composeファイル形式に変換する便利なツールで、コマンドラインだけでなく、それ自体もWeb上で直接変換することが可能です。 composerizeは、コマンドライン版とWeb版の両方利用することが可能です コマンドライン(GitHub) Web版 Web版の使い方 Web版の使い方はとても簡単で、上のインプットボックスにdockerコマンドラインを入力すれば、すぐにdocker-compose.yml形式で以下のように出力されます。 続いて、出力された内容を docker-compose.yml として保存すればdocker-composeコマンドで実行することが可能です。 コマンドライン版の使い方 1. composerizeのインストール 下記のコマンドでcomposerizeをインスト
2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerでMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable
Last week I had an opportunity to give an online lecture about containers to students at Kyoto University. The slide deck can be found here (PDF): 1. Introduction to containersWhat are containers?Containers are a set of various lightweight methods to isolate filesystems, CPU resources, memory resources, system permissions, etc. Containers are similar to virtual machines in many senses, but they ar
今回はちょっとした小ネタです。 最近お仕事でKubernetesよりDockerを多く使っている私です(KubernetesもDockerも好きです)。 これまで、普段Dockerは決めた構成で動かすということしかやってきていませんでした。 具体的にいうと「こういう構成で動かす」と決まってから、そのマニフェストを作って環境作成という感じです。 その場合は必要最低限のマニフェストを記述してdocker compose up -dを実行すれば、足りない情報はDockerが補って環境を構築してくれるので特にハマることはないです。 一方、もうすでに動いているものに新しいアプリを追加するときはそうはいきません。 ちょっとだけハマったので、その時の話をシェアしたいと思います。 まずはアプリセットを作成 例えば、マニフェストは次のようなディレクトリー構成であると仮定します。 % tree ~/test
🚀 Effortless Setup: Install seamlessly using Docker or Kubernetes (kubectl, kustomize or helm) for a hassle-free experience with support for both :ollama and :cuda tagged images. 🤝 Ollama/OpenAI API Integration: Effortlessly integrate OpenAI-compatible APIs for versatile conversations alongside Ollama models. Customize the OpenAI API URL to link with LMStudio, GroqCloud, Mistral, OpenRouter, and
docker-compose.yamlのversionがobsoleteという警告がでるようになったので、不要になっていたのはいつからか調べた docker compose が最近のバージョンで 'version' is obsolete という警告がでるようになったので、 警告にしたがって単純に削除する前に、いつから意味がないものになっていたのかを調べました。 警告でみつかる情報 警告メッセージで検索すると [BUG] `'version' is obsolete` · Issue #11628 · docker/compose がでてきて、 メッセージ通り今は不要だということがわかります。 しかし、いつから不要だったのかはこの issue からわからなかったので、 さらに調べてみました。 docker compose file format のバージョン https://docs.do
はじめに 初めまして! エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事をかきました! 最終的には自在に開発できるようになりたいと思っています。 いろいろな記事を参考にさせてもらっています。 その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。 今回の目的 Dockerってもらったものそのまま使えば簡単に動いちゃうのでとてもやりやすい!なんて思うんですけど、一から作ってとなると「はて?どうすればいいのかわからない・・・」とはっきりしてません。 最小限でDockerを動かしながらそれぞれがどんな役割をしているの?どんなことを書いているの?を理解していきます! 使用したものや事前準備 ・Macbook Pro ・Docker Desktop ・Docker Hub ・
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Docker Compose を使って複数コンテナを起動するときに,タイミングによっては接続エラーになってしまう場合がある.具体的な例としては「データベースコンテナ」の起動が遅いために「アプリケーションコンテナ」が接続エラーになってしまうことが挙げられる. depends_on とは Docker Compose には depends_on という設定項目があり,複数コンテナの「起動順序」を制御できるようになっている.しかし,あくまでこれは「起動順序」となり,必ずしも「準備完了」を保証するものではない.ドキュメントにも「開始 (start)」と「準備完了 (ready)」は異なると書いてあり,depends_on を使っても接続エラーは発生する可能性がある.機能不足と考えるのではなく,アプリケーション側でリトライ機構を用意するなど,レジリエンス(回復性)を考慮する必要がある. docs.d
こんにちは、虎の穴ラボのはっとりです。 Docker Compose使ってますか? 開発環境をサクッと作ることが出来るDocker Composeですが、 今回は、個人的に便利だなーと思っている設定・機能をご紹介します。 皆さん、いくつご存知でしょうか。 目次 環境変数編 基本のやり方 応用 ネットワーク編 異なるdocker-compose.ymlで起動しているコンテナ同士で接続 network設定無しで接続する方法 ※(注記)Docker DeskTop限定 ボリューム編 その他 command に tail -f /dev/null を指定してコンテナを起動しっぱなしにする。 設定ファイルを分割して定義する まとめ P.S. 環境変数編 基本のやり方 アプリケーションの設定を環境変数で管理することも多いと思います。 Docker Composeで環境変数を扱うにはいくつかの方法があります。
追記 2021年03月25日: profiles を使った方法について追記しました。 Docker 小ネタで、 docker-compose up コマンドで一部のサービスを除外する方法についてです。 動作確認時点の Docker と Docker Compose のバージョンは次のとおりです。 docker: 19.03.5, build 633a0ea docker-compose: 1.25.4, build 8d51620a docker-compose.yml で定義されたサービスのうち一部を除外してサービスを起動する方法として、以下の 3 通りの方法があります。 方法 A: docker-compose up の引数を使う 方法 B: docker-compose up の --scale オプションを使う 方法 C: 設定ファイルで profiles を使う 方法 A: doc
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く