That'll install our application inside an image with Python installed alongside all of our Python dependencies. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
+
That'll install our application inside an image with Python installed alongside all of our Python dependencies. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
Second, we define our Python dependencies in a file called requirements.txt:
This tells Docker to install Python, our code and our Python dependencies inside a Docker image. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
+
This tells Docker to install Python, our code and our Python dependencies inside a Docker image. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
Fig is also available as a Python package if you're on another platform (or if you prefer that sort of thing):
$ sudo pip install -U fig
-
(This command also upgrades Fig when we release a new version. If you don’t have pip installed, try brew install python or apt-get install python-pip.)
-
That should be all you need! Run fig --version to see if it worked.
That'll put our application code inside an image with Ruby, Bundler and all our dependencies. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
+
That'll put our application code inside an image with Ruby, Bundler and all our dependencies. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
Next, we have a bootstrap Gemfile which just loads Rails. It'll be overwritten in a moment by rails new.
This instructs Docker on how to build an image that contains PHP and Wordpress. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
+
This instructs Docker on how to build an image that contains PHP and Wordpress. For more information on how to write Dockerfiles, see the Dockerfile tutorial and the Dockerfile reference.
Next up, fig.yml starts our web service and a separate MySQL instance:
Each service defined in fig.yml must specify exactly one of image or build. Other keys are optional, and are analogous to their docker run command-line counterparts.
As with docker run, options specified in the Dockerfile (e.g. CMD, EXPOSE, VOLUME, ENV) are respected by default - you don't need to specify them again in fig.yml.
-
-- Tag or partial image ID. Can be local or remote - Fig will attempt to pull if it doesn't exist locally.
+
-- Tag or partial image ID. Can be local or remote - Fig will attempt to pull
+-- if it doesn't exist locally.image:ubuntuimage:orchardup/postgresqlimage:a4bc65fd
--- Path to a directory containing a Dockerfile. Fig will build and tag it with a generated name, and use that image thereafter.
+-- Path to a directory containing a Dockerfile. Fig will build and tag it with
+-- a generated name, and use that image thereafter.build:/path/to/build/dir-- Override the default command.command:bundle exec thin -p 3000
--- Link to containers in another service (see "Communicating between containers").
+-- Link to containers in another service. Optionally specify an alternate name
+-- for the link, which will determine how environment variables are prefixed,
+-- e.g. "db" -> DB_1_PORT, "db:database" -> DATABASE_1_PORTlinks:-db
+ -db:database-redis
--- Expose ports. Either specify both ports (HOST:CONTAINER), or just the container port (a random host port will be chosen).
+-- Expose ports. Either specify both ports (HOST:CONTAINER), or just the
+-- container port (a random host port will be chosen).
+-- Note:When mapping ports in the HOST:CONTAINER format, you may experience
+-- erroneous results when using a container port lower than 60, because YAML
+-- will parse numbers in the format "xx:yy" as sexagesimal (base 60). For
+-- this reason, we recommend always explicitly specifying your port mappings
+-- as strings.ports:
- -3000
- -8000:8000
+ -"3000"
+ -"8000:8000"
+ -"49100:22"-- Map volumes from the host machine (HOST:CONTAINER).volumes: