Docker-compose

[Pages:13]docker-compose

#dockercompose

1

1: docker-compose

2

2

Examples

2

2

2

docker-compose

4

Docker Compose

4

Docker Compose

4

Ruby on Rails -

5

2: Docker-compose multi-container example

8

8

Examples

8

LAMP

8

3:

10

10

Examples

10

10

-

10

11

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: docker-compose

It is an unofficial and free docker-compose ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official docker-compose.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to info@



1

1: docker-compose

Compose - Docker. Compose Compose . , , . Compose, . .

Compose - .

1. Dockerfile .

2. , docker-compose.yml .

3. , docker-compose up Compose .

Examples

Docker OS X Windows, Docker Windows Docker Toolbox.

Linux GitHub:

:

curl -L `uname -s``uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

.

. , python, redis backend. Dockerfile docker-compose.yml :



2

version: '2' services:

web: build: . ports: - "5000:5000" volumes: - .:/code depends_on: - redis

redis: image: redis

docker-compose up : python app redis.

? version: '2' - docker-compose ? services: , ? web: redis: , ,

? depends_on redis , ,

redis redis -. , dockercompose redis redis web . , - , redis .

. , . .

redis :

redis: image: redis volumes: - redis-data:/code networks: -back-tier

, 2.

volumes: # Named volume redis-data: driver: local

networks: back-tier: driver: bridge

redis-data . driver:local



3

. back-tier , .

docker-compose

docker-compose run service-name command

, , rake db:create web , :

docker-compose run web rake db:create

Docker Compose

1. Docker Engine . Permission denied , sudo -i , .

2. Pull Docker /usr/local/bin/docker-compose .

curl -L `uname -s``uname -m` > /usr/local/bin/docker-compose

1.7.1 . 3. .

chmod +x /usr/local/bin/docker-compose

4. .

docker-compose --version

doker 1.7.1, build 0a9ab35

Docker Compose

docker-compose.yml :

version: '2' services:

hello_world: image: ubuntu command: [/bin/echo, 'Hello world']



4

, hello_world , ubuntu:latest ubuntu:latest , echo

'Hello world'

folder ( docker-compose.yml ), docker-compose up

Creating folder_hello_world_1 Attaching to folder_hello_world_1 hello_world_1 | Hello world folder_hello_world_1 exited with code 0

ubuntu docker-compose.yml , docker-

compose.yml

Docker-Compose . , docker-compose --projectname NAME {up|down|...} suppy .env docker-compose.yml COMPOSE_PROJECT_NAME=name . (-), , .

. Docker-compose . , , , swarm / kubernetes.

Ruby on Rails -

rails , , ( ). .

rails . :

rails new compose-app --database=postgresql

, , . .

Docker :

FROM ruby:2.3.1 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /compose-app WORKDIR /compose-app ADD Gemfile /compose-app/Gemfile ADD Gemfile.lock /compose-app/Gemfile.lock RUN bundle install ADD . /compose-app



5

- docker-compose.yml :

version: '2' services:

db: image: postgres

web: build: . command: bundle exec rails s -e development -p 80 -b '0.0.0.0' volumes: - .:/compose-app ports: - "80:80" depends_on: - db

80 (-p 80) .

database.yml :

development: &default adapter: postgresql encoding: unicode database: postgres pool: 5 username: postgres password: host: db

:

docker-compose build

( )

:

docker-compose up

, .

. .

rails , :

docker-compose stop web docker-compose build web docker-compose up -d --no-deps web

.



6

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download