This article brings you the knowledge about compose in docker, including the compose file structure and the knowledge about installing the docker compose tool. I hope it will be helpful to you.
What is docker compose?
Docker compose is a container orchestration function that orchestrates and unites different servers running in different containers.
can be used to uniformly manage most containers: including but not limited to: network, port, mount, etc. can be used to implement clustering of containers. Compose can also be used to implement a series of operations related to containers and images. Operation is a function to manage containers
The file structure in compose usually refers to the structure of the yml file. So what is a yml file?
yml file is a file in key-value pair format.
yml files are very sensitive to the format. You need to pay attention to the following matters:
For example:
house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street city: Nowheretown zipcode: 1234
yml file format For example, the above requires one-level correspondence, and there are two spaces between different levels.
Note: If a key has multiple values in one level, it can be used in the next level. It also has two empty spaces, starting with a short horizontal bar, and writing several end horizontal bars for several values.
Field | Description |
---|---|
build dockerfile centext | Specify the Dockerfile file name to build the path of the image context |
images | Specify the image |
command | Execute the command, overwriting the default command |
container name | Specify the container name, because the container name is unique. If you specify a custom name, you cannot create scale |
deploy | Specify configurations related to deployment and running services, and can only be used in Swarm mode |
environment | Add environment variables |
networks | Join network |
ports | Expose the container port, the same as -p, but the port number must be greater than 60 |
volumts | Mount the host path or command volume |
restart | Restart strategy, default no, always, on-failure, unless-stoped |
hostname | Container host name |
build: A definition method when constructing a mirror
dockerfile: Method It is built using dockerfile
context: The path of the service docerfile file
images: You can specify the image name to be used, for example: images: Image name, note: there is a space after it
command: execute a statement
container name: used to specify the name of the container, because the container The name is unique. If you specify a custom name, you cannot scale (set a replica set)
#Replica set: Make an image into multiple containers. The running environment and other aspects of these multiple containers are exactly the same. When a container in the container architecture dies, an identical container can be started directly to maintain the number of replica sets. This is the concept of replica sets, and it is also the core of K8s. It can improve the speed of microservices, improve disaster recovery, and high concurrency performance
deploy: It is a controller, and in k8s it is a plug-in that controls and manages replica sets
restart: A restart strategy. The default is not to start after shutdown. If always, it will automatically start the closed container regardless of manual shutdown or non-manual shutdown. Unless-stopped only pulls the closed status. Containers, on-failure, will only start containers with non-zero return codes
Field | Description |
---|---|
Rebuild an image information | |
List the containers currently controlled by docker compose | |
Create and start the container | |
Execute the command in the container | |
Specify the number of startups for a server, which is equivalent to the number of replica sets | |
Display container processes, all containers started by processes controlled by docker compose | |
View the output information of the container | |
Delete containers, networks, data volumes and images | |
stop /Start/Restart container service |
The above is the detailed content of Docker basics compose file structure and installation tools (detailed examples). For more information, please follow other related articles on the PHP Chinese website!