In actual development or production environments, containers are often not run independently, and multiple containers are often required to run together. At this time, if you continue to use the run command to start the container, it will be very inconvenient. In this case, docker-compose is a good choice. Docker compose can be used to achieve container orchestration. This article will take a look at the use of docker-compose. This article takes the deployment of an open source website like jpress as an example to introduce the use of docker-compose to readers. jpress is the Java version of WordPress, but we don’t need to pay attention to the implementation of jpress. Here we just need to treat it as a normal application to complete the deployment of the project. Preparation Here we need two containers in total:
Then you need the war package of jpress, war package address: jpress Of course, jpress is not required here. Readers can also choose other Java projects or write a simple Java project deployment according to their own situation. Writing a Dockerfile In the Tomcat container, you need to download related war files, so I write a Dockerfile to do this. Create a Dockerfile in an empty folder with the following content:
explain:
Write docker-compose.yml Write docker-compose.yml in the same directory with the following content (the basic knowledge of yml is not introduced here, and readers can find out by themselves):
explain:
OK, after the above steps, docker-compose.yml is configured successfully run There are several ways to run it, but the ultimate command is up. The up command is very powerful. It will try to automatically complete a series of operations including building images, (re)creating services, starting services, and associating service-related containers. Most applications can be started directly through this command. By default, all containers started by docker-compose up are in the foreground, and the console will print the output information of all containers at the same time, which is very convenient for debugging. When you stop the command through Ctrl-C, all containers will stop. If you use the docker-compose up -d command, all containers will be started and run in the background. This option is generally recommended for production environments. Therefore, enter the directory where docker-compose.yml is located and execute the following command: docker-compose up -d The execution results are as follows: After execution, you can see that the container has started through the docker-compose ps command. Initial configuration Next, enter http://localhost:8080/jpress in the browser, and you can see the jpress configuration page as follows: Configure the database connection information and basic website information according to the guide page: Note: Since both MySQL and web are running in containers, the loopback address cannot be written when configuring the database address, otherwise the database will be found in the container where web is located. After the configuration is complete, run the following command to restart the web container: docker restart jpress test View the blog homepage and backend management page in the browser, as shown below: other If you want to stop the container, you can execute the following command: docker-compose down The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: JavaScript to achieve a simple magnifying glass effect
>>: What to do if the auto-increment primary key in MySQL is used up
After studying React for a while, I want to put i...
What is CSS# CSS (abbreviation of Cascading Style...
I recently watched a video of a foreign guy using...
This article shares the specific code of js to im...
#!/bin/bash #Download SVN yum -y install subversi...
When logging in to the stress test, many differen...
I have been using CSS for a long time, but I have...
Table of contents 1. What is a calculated propert...
I encountered a small problem today and struggled ...
Using win docker-desktop, I want to connect to co...
Monday to Sunday time format conversion (Y --- ye...
Preface When I was writing a small project yester...
Table of contents 1. Swap partition SWAP 1.1 Crea...
This article example shares the specific code of ...
I was curious about how to access the project usi...