Docker is a popular containerization platform that allows us to deploy and manage applications quickly, reliably, and repeatably. Use Docker for deployment and package the application and the required running environment into a container to solve the problems caused when the application is deployed in different environments. In this article, we will explore how to deploy applications in Docker containers.
1. Install Docker
First, we need to install Docker. In various operating systems, the installation method of Docker may be different. In Ubuntu, you can install it through the following command:
sudo apt-get update
sudo apt-get install docker-ce
Copy after login
After the installation is completed, you can use the following command to check whether the Docker installation is successful:
docker version
Copy after login
2. Write the Dockerfile
## The #Dockerfile file is the configuration file of the Docker container, which contains all the instructions required to build the image. Using Dockerfile, we can specify the running environment required by the application and package the application into a container. The following is a sample Dockerfile:
# 指定基本镜像
FROM python:3.7-alpine
# 声明工作目录
WORKDIR /app
# 复制应用程序代码到工作目录中
COPY . /app
# 安装所有依赖项
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 5000
# 设置启动命令
CMD ["python", "app.py"]
Copy after login
The above Dockerfile contains the following content:
Use the Python 3.7 image as the base image. Declare the working directory as /app. Copy the application code to the working directory. Install all dependencies. Expose port 5000. Set the startup command to python app.py.
You can modify it according to your needs and save it as a Dockerfile in the desired location.
3. Build the Docker image
In the directory where the Dockerfile file is located, run the following command to build the Docker image:
docker build -t <镜像名称> .
Copy after login
Among them, the -t parameter specifies the image name. Docker will build the image according to the instructions in the Dockerfile. Note that the "." at the end indicates the current directory as the build context.
The build process may take a while, depending on the size of the image and network speed. After the build is completed, you can use the following command to view all available Docker images:
docker images
Copy after login
After viewing the image, you can use the following command to run the container:
docker run -p 5000:5000 <镜像名称>
Copy after login
Among them, the -p parameter specifies the mapping The port to the container. In this example, map port 5000 in the container to port 5000 on the host. If you need to specify some environment variables inside the container, you can use the -e parameter. For example:
docker run -p 5000:5000 -e "DB_HOST=localhost" <镜像名称>
Copy after login
4. Upload the Docker image
In order to deploy this Docker image in the future, we need to upload it to a publicly accessible Docker repository. Currently, Docker provides the official Docker Hub, which allows us to easily upload images to the cloud. The following are the steps to upload an image:
1. Create a Docker Hub account and log in to the account.
2. Run the following command in your local environment to log in to Docker Hub:
docker login
Copy after login
This command will ask you to enter the username and password of your Docker Hub account.
3. Run the following command to mark the local image:
docker tag <镜像名称> <Docker Hub用户名>/<镜像名称>:<版本号>
Copy after login
Among them, the Docker Hub username specifies the username of the Docker Hub account. The version number can be set arbitrarily, usually semantic versioning is used.
4. Use the following command to upload the image to Docker Hub:
docker push <Docker Hub用户名>/<镜像名称>:<版本号>
Copy after login
The upload process takes some time. After the upload is completed, you can view the uploaded image on Docker Hub.
Summary:
The above are the detailed steps on how to deploy applications in Docker containers. Using Docker, you can quickly deploy and manage applications, improving the reliability and repeatability of development and production environments. . Of course, in practice, there are many other issues that need to be considered and optimized, such as security, network performance, logging and monitoring, and so on. Hopefully this article will provide you with a starting point to gain a deeper understanding of the power of Docker.
The above is the detailed content of How to deploy applications in docker containers. For more information, please follow other related articles on the PHP Chinese website!