Learn more about docker volumes. WordPress Multisite works only on ports 80 and 443. Build the project. Now, run docker-compose up -d from your project directory. This runs docker-compose up in detached mode, pulls the needed Docker images, and starts the wordpress and database containers, as shown in the example below. If you want to actually run the docker instances on WSL (you’ll get better performance) you should modify this process so that after installing docker on WSL you change the docker socket to use a loopback TCP socket instead of a.nix socket file as WSL currently doesn’t support.nix socket files. Then you can either connect using the windows docker or you can just use it from command line WSL.
- Docker Compose Windows Volume
- Docker Compose Windows
- Docker Compose Windows Containers
- Docker Compose Windows Volume Path
Depending on which operating system you’re using to run Docker, Compose may need to be installed separately. If you use the Docker container platform as part of the desktop installations Docker for Mac or Docker for Windows, then Docker Compose is already contained in the range of functions. Docker Compose is a tool used to define and run multi-container Docker applications. Users utilize this software to launch, execute, communicate, and close containers with a single coordinated command.
Estimated reading time: 4 minutes
Several environment variables are available for you to configure the Docker Compose command-line behaviour.
Variables starting with DOCKER_
are the same as those used to configure theDocker command-line client. If you’re using docker-machine
, then the eval '$(docker-machine env my-docker-vm)'
command should set them to their correct values. (In this example, my-docker-vm
is the name of a machine you created.)
Note: Some of these variables can also be provided using anenvironment file.
COMPOSE_PROJECT_NAME
Sets the project name. This value is prepended along with the service name tothe container on start up. For example, if your project name is myapp
and itincludes two services db
and web
, then Compose starts containers namedmyapp_db_1
and myapp_web_1
respectively.
Setting this is optional. If you do not set this, the COMPOSE_PROJECT_NAME
defaults to the basename
of the project directory. See also the -p
command-line option.
COMPOSE_FILE
Specify the path to a Compose file. If not provided, Compose looks for a file nameddocker-compose.yml
in the current directory and then each parent directory insuccession until a file by that name is found.
This variable supports multiple Compose files separated by a path separator (onLinux and macOS the path separator is :
, on Windows it is ;
). For example:COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
. The path separatorcan also be customized using COMPOSE_PATH_SEPARATOR
.
See also the -f
command-line option.
COMPOSE_PROFILES
Specify one or multiple active profiles to enable. Calling docker-compose up
with COMPOSE_PROFILES=frontend
will start the services with the profilefrontend
and services without specified profiles.
You can specify a list of profiles separated with a comma:COMPOSE_PROFILES=frontend,debug
will enable the profiles frontend
anddebug
.
See also Using profiles with Compose and the --profile
command-line option.
COMPOSE_API_VERSION
The Docker API only supports requests from clients which report a specificversion. If you receive a client and server don't have same version
error usingdocker-compose
, you can workaround this error by setting this environmentvariable. Set the version value to match the server version.
Setting this variable is intended as a workaround for situations where you needto run temporarily with a mismatch between the client and server version. Forexample, if you can upgrade the client but need to wait to upgrade the server.
Running with this variable set and a known mismatch does prevent some Dockerfeatures from working properly. The exact features that fail would depend on theDocker client and server versions. For this reason, running with this variableset is only intended as a workaround and it is not officially supported.
If you run into problems running with this set, resolve the mismatch throughupgrade and remove this setting to see if your problems resolve before notifyingsupport.
Docker Compose Windows Volume
DOCKER_HOST
Sets the URL of the docker
daemon. As with the Docker client, defaults to unix:///var/run/docker.sock
.
DOCKER_TLS_VERIFY
When set to anything other than an empty string, enables TLS communication withthe docker
daemon.
DOCKER_CERT_PATH
Configures the path to the ca.pem
, cert.pem
, and key.pem
files used for TLS verification. Defaults to ~/.docker
.
COMPOSE_HTTP_TIMEOUT
Configures the time (in seconds) a request to the Docker daemon is allowed to hang before Compose considersit failed. Defaults to 60 seconds.
COMPOSE_TLS_VERSION
Configure which TLS version is used for TLS communication with the docker
daemon. Defaults to TLSv1
.Supported values are: TLSv1
, TLSv1_1
, TLSv1_2
.
COMPOSE_CONVERT_WINDOWS_PATHS
Enable path conversion from Windows-style to Unix-style in volume definitions.Users of Docker Machine on Windows should always set this. Defaults to 0
.Supported values: true
or 1
to enable, false
or 0
to disable.
COMPOSE_PATH_SEPARATOR
If set, the value of the COMPOSE_FILE
environment variable is separatedusing this character as path separator.
COMPOSE_FORCE_WINDOWS_HOST
If set, volume declarations using the short syntaxare parsed assuming the host path is a Windows path, even if Compose isrunning on a UNIX-based system.Supported values: true
or 1
to enable, false
or 0
to disable.
COMPOSE_IGNORE_ORPHANS
If set, Compose doesn’t try to detect orphaned containers for the project.Supported values: true
or 1
to enable, false
or 0
to disable.
COMPOSE_PARALLEL_LIMIT
Docker Compose Windows
Sets a limit for the number of operations Compose can execute in parallel. Thedefault value is 64
, and may not be set lower than 2
.
COMPOSE_INTERACTIVE_NO_CLI
If set, Compose doesn’t attempt to use the Docker CLI for interactive run
and exec
operations. This option is not available on Windows where the CLIis required for the aforementioned operations.Supported: true
or 1
to enable, false
or 0
to disable.
COMPOSE_DOCKER_CLI_BUILD
Configure whether to use the Compose python client for building images or thenative docker cli. By default, Compose uses the docker
CLI to perform builds,which allows you to use BuildKitto perform builds.
Set COMPOSE_DOCKER_CLI_BUILD=0
to disable native builds, and to use the built-inpython client.
Docker Compose Windows Containers
Related information
fig, composition, compose, docker, orchestration, cli, referenceEstimated reading time: 3 minutes
You can use Docker Compose to easily run WordPress in an isolated environmentbuilt with Docker containers. This quick-start guide demonstrates how to useCompose to set up and run WordPress. Before starting, make sure you haveCompose installed.
Docker Compose Windows Volume Path
Define the project
Create an empty project directory.
You can name the directory something easy for you to remember.This directory is the context for your application image. Thedirectory should only contain resources to build that image.
This project directory contains a
docker-compose.yml
file whichis complete in itself for a good starter wordpress project.Tip: You can use either a
.yml
or.yaml
extension forthis file. They both work.Change into your project directory.
For example, if you named your directory
my_wordpress
:Create a
docker-compose.yml
file that starts yourWordPress
blog and a separateMySQL
instance with a volumemount for data persistence:
Notes:
The docker volume
db_data
persists any updates made by WordPress to the database. Learn more about docker volumesWordPress Multisite works only on ports
80
and443
.
Build the project
Now, run docker-compose up -d
from your project directory.
This runs docker-compose up
in detached mode, pullsthe needed Docker images, and starts the wordpress and database containers, as shown inthe example below.
Note: WordPress Multisite works only on ports 80
and/or 443
.If you get an error message about binding 0.0.0.0
to port 80
or 443
(depending on which one you specified), it is likely that the port youconfigured for WordPress is already in use by another service.
Bring up WordPress in a web browser
At this point, WordPress should be running on port 8000
of your Docker Host,and you can complete the “famous five-minute installation” as a WordPressadministrator.
Note: The WordPress site is not immediately available on port 8000
because the containers are still being initialized and may take a couple ofminutes before the first load.
If you are using Docker Machine, you can run the commanddocker-machine ip MACHINE_VM
to get the machine address, and then openhttp://MACHINE_VM_IP:8000
in a web browser.
If you are using Docker Desktop for Mac or Docker Desktop for Windows, you can usehttp://localhost
as the IP address, and open http://localhost:8000
in a webbrowser.
Shutdown and cleanup
The command docker-compose down
removes thecontainers and default network, but preserves your WordPress database.
The command docker-compose down --volumes
removes the containers, defaultnetwork, and the WordPress database.