Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives
docker・docker composeの仕様について細かい部分を調べて理解する Docker compose 公式ドキュメント Docker composeとは Compose is a tool for defining and running multi-container Docker applications. To learn more about Compose refer to the following documentation: https://docs.docker.com/compose/ 複数コンテナから構成されるアプリケーションを構築・実行するためのツール。 一から触ってみるなら、https://docs.docker.com/compose/gettingstarted/の内容を試すのが手軽。 Docker compose CLI docker-compo
Dockerの「マウント」について 今回は、Dockerにおける「マウント」について確認していきます。 「マウント」とは、ホスト側(コンテナの外)にあるディレクトリ・ファイルを、コンテナの中から利用できるようにする機能です。 マウントには3つの種類があります。 1.バインドマウント(bind) Dockerホストのファイルやディレクトリをコンテナ上にマウントする機能です。 バインドマウントを行うと、コンテナの外にあるファイルを、コンテナの中から読み書き可能になります。 2.ボリュームマウント(volume) Docker が管理するデータ領域を コンテナ上にマウントする機能です。 バインドマウントとの違いは、バインドマウントが「Dockerが管理するデータ領域以外もマウント可能である」ことに対し、ボリュームマウントは「Dockerが管理するデータ領域内でのマウントのみ可能である」という点で
Creating postgresql_6543 ... error ERROR: for postgresql_6543 Cannot create container for service postgresql: failed to mount local volume: mount ./docker/postgres/data:/var/lib/docker/volumes/blog_pg-volume/_data, flags: 0x1000: no such file or directory ERROR: for postgresql Cannot create container for service postgresql: failed to mount local volume: mount ./docker/postgres/data:/var/lib/docker
composeファイルのバージョン2以降で、YAMLのトップレベルにvolumes:を置いてボリュームの定義をし、service:内でそのボリューム名を指定するという書き方ができます。 version: "2" services: database: image: mariadb:10 volumes: - datastore:/var/lib/mysql ...(略)... volumes: datastore: Docker EngineやDocker Composeのドキュメントを見るとこんな感じで書いてあるかと思います。この書き方だとdatastoreはlocalというドライバを使用して/var/lib/docker/volumes/datastore/_dataあたりのディレクトリをコンテナ内にマウントするという動作になります。 消えちゃう問題 この方式は各サービスのvolume
docker-composeのリファレンスを読んでいたら、extra_hostsなるオプションがあった。 自分が初めてDocker使った時にあったのかどうかは調べてないのですが、こんな便利なオプションを見逃していたなんて・・・。 dockerコンテナは基本的に起動時にIPを動的に割り当てているため、毎回コンテナ上のhostsファイルが書き換わってしまい、独自の設定を入れる方法がなかった。 力技でやる場合は、ENTRYPOINTとかのシェルスクリプト内でhosts書き換えたりする程度しか思いついていなかった。 早速使ってみた。 ※ローカルにphpやmysqlという名前のイメージがある状態で行っています。 適当なディレクトリにdocker-compose.ymlを作って、下記の内容を記述します。 $ vi docker-compose.yml mysql: image: mysql conta
フロントエンドの開発環境を整備すべく、 nodejs と ruby が入ったコンテナがないかな?と探したのだけど、オフィシャルなイメージとしては、nodeのコンテナと、rubyのコンテナが、それぞれ単体では存在するが、両方が載っているものがなかったので、オフィシャルじゃないイメージを使うことにした。 その前に、ふと、Dockerコンテナの中で、Dockerコンテナが動くんだろうか?という疑問がよぎった。 できたとしても、親子の入れ子構造にすると、イメージが肥大化するので、兄弟関係で、動かした方がいいんだろうな・・・ということは、なんとなく想像がつくので、コンテナ間で、 docker exec できないものか?と調べてみる・・・。 そして、Dockerコンテナの中で、Docker Clientは、動くらしくて、ホストOSにある /var/run/docker.sock を共有することで、コン
原文:Compose file version 3 reference https://docs.docker.com/compose/compose-file/ docker-compose.yml で定義される各々のサービスは、特定の image か build を指定する必要があります。その他のキーはオプションであり、docker run コマンドラインのものと似ています。 docker run と同様に、Dockerfile で指定されたオプションがデフォルトとして尊重されます(例:CMD,EXPOSE,VOLUME,ENV)。そのため、docker-compose.yml で再び定義する必要はありません。 image タグや image ID の一部です。ローカルでもリモートでも構いません。ローカルに存在しなければ、Compose はイメージを取得(pull)します。
Compose ファイルとは、Docker アプリケーション用のサービス、ネットワーク、ボリュームを定義した YAML ファイル です。最新かつ推奨される Compose ファイル形式のバージョンは、 Compose Specification で定義されています。Compose の仕様は、古いバージョン 2.x と 3.x を1つにまとめ、各フォーマット間が 持っている属性(property) を統合したものが、 Compose 1.27.0 以上 から実装されています。 この文章の状態¶ このドキュメントで定めるのは、複数コンテナのアプリケーションを定義するために使う Compose ファイル形式についての仕様です。このドキュメントの配布に制限はありません。 このドキュメントにおけるキーワード「 しなければならない(MUST) 」「 してはならない(MUST NOT) 」「 することに
This page provides usage information for the docker compose command. Command options overview and helpYou can also see this information by running docker compose --help from the command line. Usage: docker compose [OPTIONS] COMMAND Define and run multi-container applications with Docker. Options: --ansi string Control when to print ANSI control characters ("never"|"always"|"auto") (default "auto")
開発環境としてDockerを使ってるのですが、なんとなくコマンドを打っていて、あまりちゃんとコマンドを理解していないので、覚え書きとしてまとめてみようと思います。 dockerコマンドというよりdocker-composeを紹介します。 今回は以下のようなdocker-compose.ymlを参考にします。 web: build: . environment: DISABLE_SPRING: "1" DB_USERNAME: "root" DB_PASSWORD: "root" DB_HOST: "db" ports: - "3000:3000" volumes: - ".:/var/local/rails5_product" links: - "db" db: image: mysql:5.6 environment: MYSQL_ROOT_PASSWORD: "root" # rail
PHP 7.0 の開発環境を構築するために書いた Docker Compose の設定ファイルをまとめました。 Docker について Docker はコンテナと呼ばれる単位でアプリケーションを管理するソフトウェアです。 コンテナはサーバー OS にインストールされているソフトウェアと独立しているので、サーバーの環境を壊すことなく、PHP のバージョンアップや HTTP サーバーの切り替えを手軽に試すことができます。 Linux ディストリビューションのパッケージ管理ツールの apt-get や yum をより使いやすくしたものとして見ることができるでしょう。 オーバーヘッドが少ないので、さくら VPS、DigitalOcean や Vultr などの格安の VPS ホスティングサービスで使うことができます。 DigitalOcean と Vultr はコンテナの運用に特化した CoreO
サーバサイドプログラミング関連 Advent Calendar 2016の4日目の記事です。 Docker使ったことない方がすぐにコンテナを構築をできるように説明がんばります。 環境はMacをベースに説明します(Win機持ってない)が、install時以外は基本的には違いは無いかと思います. Dockerとは Docker provides a way to run applications securely isolated in a container, packaged with all its dependencies and libraries. Because your application can always be run with the environment it expects right in the build image, testing and deplo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く