


Docker basics compose file structure and installation tools (detailed examples)
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
1. compose file structure
1. yml file
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:
- Only recognizes the indentation of spaces and does not recognize the indentation form of the tab key
- Usually indent two spaces at the beginning
- characters and then indent one space, including but not limited to: colon, comma, horizontal bar and other characters. The character must be indented by one space
- Supports the use of # for comments
- If special characters are included, they need to be quoted in single quotes
- Boolean values must be enclosed in quotes
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.
2. Commonly used fields in Compose configuration
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
3. Compose’s external common commands
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!

The difference between Docker and Kubernetes is that Docker is a containerized platform suitable for small projects and development environments; Kubernetes is a container orchestration system suitable for large projects and production environments. 1.Docker simplifies application deployment and is suitable for small projects with limited resources. 2. Kubernetes provides automation and scalability capabilities, suitable for large projects that require efficient management.

Use Docker and Kubernetes to build scalable applications. 1) Create container images using Dockerfile, 2) Deployment and Service of Kubernetes through kubectl command, 3) Use HorizontalPodAutoscaler to achieve automatic scaling, thereby building an efficient and scalable application architecture.

The main difference between Docker and Kubernetes is that Docker is used for containerization, while Kubernetes is used for container orchestration. 1.Docker provides a consistent environment to develop, test and deploy applications, and implement isolation and resource limitation through containers. 2. Kubernetes manages containerized applications, provides automated deployment, expansion and management functions, and supports load balancing and automatic scaling. The combination of the two can improve application deployment and management efficiency.

Installing and configuring Docker on Linux requires ensuring that the system is 64-bit and kernel version 3.10 and above, use the command "sudoapt-getupdate" and install it with the command "sudoapt-getupdate" and verify it with "sudoapt-getupdate" and. Docker uses the namespace and control groups of the Linux kernel to achieve container isolation and resource limitation. The image is a read-only template, and the container can be modified. Examples of usage include running an Nginx server and creating images with custom Dockerfiles. common

The reason for using Docker is that it provides an efficient, portable and consistent environment to package, distribute, and run applications. 1) Docker is a containerized platform that allows developers to package applications and their dependencies into lightweight, portable containers. 2) It is based on Linux container technology and joint file system to ensure fast startup and efficient operation. 3) Docker supports multi-stage construction, optimizes image size and deployment speed. 4) Using Docker can simplify development and deployment processes, improve efficiency and ensure consistency across environments.

Docker's application scenarios in actual projects include simplifying deployment, managing multi-container applications and performance optimization. 1.Docker simplifies application deployment, such as using Dockerfile to deploy Node.js applications. 2. DockerCompose manages multi-container applications, such as web and database services in microservice architecture. 3. Performance optimization uses multi-stage construction to reduce the image size and monitor the container status through health checks.

Select Docker in a small project or development environment, and Kubernetes in a large project or production environment. 1.Docker is suitable for rapid iteration and testing, 2. Kubernetes provides powerful container orchestration capabilities, suitable for managing and expanding large applications.

Docker is important on Linux because Linux is its native platform that provides rich tools and community support. 1. Install Docker: Use sudoapt-getupdate and sudoapt-getinstalldocker-cedocker-ce-clicotainerd.io. 2. Create and manage containers: Use dockerrun commands, such as dockerrun-d--namemynginx-p80:80nginx. 3. Write Dockerfile: Optimize the image size and use multi-stage construction. 4. Optimization and debugging: Use dockerlogs and dockerex


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
