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

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.

主站蜘蛛池模板: 盖州市| 金堂县| 周口市| 乌苏市| 津南区| 丰镇市| 禄劝| 聂拉木县| 拜城县| 临桂县| 西峡县| 竹溪县| 东台市| 通化县| 卢龙县| 丹凤县| 兴化市| 湖州市| 北辰区| 化德县| 盘山县| 宁乡县| 辉南县| 新野县| 高要市| 洪江市| 元谋县| 肇州县| 当阳市| 桐庐县| 衡阳县| 广丰县| 宝应县| 和田市| 江川县| 许昌市| 门源| 寻甸| 河池市| 金山区| 鄂托克前旗|