With the development of cloud computing and big data, container technology is becoming more and more popular, and Docker, as a commonly used container technology, can help us simplify the deployment and management of applications, improve the portability of applications, and reduce the cost of The cost and complexity of running the application. However, one of the most basic questions in the process of learning Docker is: How to use Docker to create multiple containers? Let’s learn it together!
First, we need to install Docker. Docker supports multiple operating systems, such as Windows, Linux and MacOS. Here, we take Ubuntu 18.04 as an example for demonstration.
To install Docker, we need to execute the following command:
sudo apt-get update
sudo apt-get install docker.io
After the installation is complete, we can verify whether it is installed correctly by executing the following command:
sudo docker version
If Docker is output version information, it means that we have successfully installed Docker.
Before creating a Docker container, we need to create a Docker image. They are similar to images in a virtual machine and can be used to create multiple containers. To create a Docker image, we need to write a Dockerfile. The following is an example of a basic Dockerfile:
# 基本镜像 FROM ubuntu:18.04 # 更新软件包并安装必要的软件 RUN apt-get update && apt-get install -y apache2 # 添加网页内容到容器中 COPY index.html /var/www/html/
In this example, we first specify that the base image used is Ubuntu 18.04. We then updated the packages and installed the necessary packages (in this case Apache2). Finally, we added a simple web page content to the container.
After finishing writing the Dockerfile, we can use the following command to build the image:
sudo docker build -t my-apache2 .
In this In the example, we will create an image named "my-apache2" and use the directory where the Dockerfile is located as the build context.
Now, we have created a Docker image. Next, we can use this image to create multiple Docker containers. The example below shows how to create 3 Docker containers and bind them to different ports on the local host.
sudo docker run -p 80:80 -d my-apache2
sudo docker run -p 8080:80 -d my-apache2
sudo docker run -p 8081:80 -d my-apache2
Here, we used the-p
option to specify the port mapping . The first command maps the container's port 80 to the host's port 80, the second command maps the container's port 80 to the host's port 8080, and the third command maps the container's port 80 to the host's port 8081. .
Now, we have successfully created 3 Docker containers and bound them to different ports. We can access different containers by accessing different ports of the host machine to see if they are running properly.
In addition to manually creating multiple Docker containers, we can also use the Docker Compose tool to create and manage multiple Docker containers . Docker Compose is a command-line tool that allows you to define and manage multiple Docker containers in a single file and easily orchestrate and coordinate them.
For example, the following is a basic Docker Compose file:
version: '3' services: web: image: my-apache2 ports: - "80:80" volumes: - ./web:/var/www/html restart: always db: image: postgres environment: POSTGRES_PASSWORD: mysecretpassword volumes: - db-data:/var/lib/postgresql/data volumes: db-data:
In this example, we define 2 services: a web service based on using the my-apache2 image created earlier, and a PostgreSQL-based database service. We also define a volume named db-data for persisting database data.
Using Docker Compose, we can start these services with the following command:
sudo docker-compose up -d
In this example, we The-d
option is used to put the service into background running mode, and the-f
option can also be used to specify the Docker Compose file path.
Summary
The above is the whole process of how to use Docker to create multiple containers. Of course, this is just the tip of the iceberg. There are many ways to use Docker, and how you use it depends on your needs. In practical applications, we also need to understand more aspects of Docker, such as image management, network configuration, data volumes, etc. I hope this article can provide some reference for beginners and inspire everyone to learn Docker more deeply.
The above is the detailed content of How to create multiple containers with docker. For more information, please follow other related articles on the PHP Chinese website!