官术网_书友最值得收藏!

  • Spring 5.0 By Example
  • Claudio Eduardo de Oliveira
  • 348字
  • 2021-06-24 19:17:39

Preparing  MongoDB

Let's create our MongoDB container. We will use the official image provided by the Docker Hub.

First, we need to pull the image:

docker pull mongo:3.4.10

Then, we will see the Docker Engine downloading the image contents.

To create an isolation from our containers, we will create a separated network for our application and database. The network should use the bridge driver to allow the container communications.

Let's create a docker network:

docker network create cms-application

The command output should be an ID of a created network. Your ID will probably be different compared to mine:

To check if the network was created successfully, the docker network ls command can help us.

We will start our MongoDB. The network should be cms-application, but we will map the database port to a host port. For debugging purposes, we will connect a client to a running database, but please don't do this in a non-development environment.

Exposing a port over host is not a best practice. Hence, we use a Docker container, which is one of the main advantages is process isolation. In this case, we will have no control over the network. Otherwise, we may cause some port conflicts.

To start, type the following command:

docker run -d --name mongodb --net cms-application -p 27017:27017 mongo:3.4.10
Also, we can stop the Docker MongoDB container using docker stop mongodb and start our container again by using the following command:  docker start mongodb.

The output will be a hash which represents the ID of the container.

The parameter instructions are:

  • -d: This instructs Docker to run the container in a background mode
  • --name: The container name; it will be a kind of hostname in our network
  • --net: The network where the container will be attached
  • -p: The host port and container port, which will be mapped to a container on a host interface

Now, we have a pretty standard MongoDB instance running on our machines, and we can start to add a persistence in our CMS application. We will do that soon.

主站蜘蛛池模板: 肃南| 竹溪县| 云浮市| 静海县| 衡南县| 资阳市| 西盟| 鄂州市| 延庆县| 婺源县| 奈曼旗| 武宣县| 太白县| 环江| 河北省| 大港区| 新宾| 广南县| 三河市| 宜丰县| 镶黄旗| 句容市| 东台市| 兴化市| 随州市| 城固县| 邻水| 高要市| 鄂尔多斯市| 大宁县| 黄平县| 淳安县| 凤翔县| 清河县| 湖南省| 平泉县| 镇平县| 沈阳市| 吴川市| 通河县| 普格县|