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

Keeping a process running in a background container

The last type of container is the one that you'll use most in production, the background container, which keeps a long-running process running in the background. It's a container that behaves like a Windows service. In Docker terminology, it's called a detached container, and it's the Docker Engine that keeps it running in the background. Inside the container, the process runs in the foreground. The process might be a web server or a console application polling a message queue for work, but as long as the process keeps running, Docker will keep the container alive.

I can run a background container from the same image again, specifying the detach option and a command that runs for some minutes:

> docker container run --detach dockeronwindows/ch02-powershell-env:2e `
powershell Test-Connection 'localhost' -Count 100

bb326e5796bf48199a9a6c4569140e9ca989d7d8f77988de7a96ce0a616c88e9

In this case when the container has launched, control returns to the terminal; the long random string is the ID of the new container. You can run docker container ls and see the container running, and the docker container logs command shows you the console output from the container. For commands operating on specific containers, you can reference them by the container name or by part of the container ID - IDs are random, in my case this container ID begins bb3:

> docker container logs bb3

Source Destination IPV4Address IPV6Address
------ ----------- ----------- -----------
BB326E5796BF localhost 127.0.0.1 ::1
BB326E5796BF localhost 127.0.0.1 ::1

The --detach flag detaches the container so that it moves into the background, and the command in this case just pings localhost repeatedly one hundred times. After a few minutes, the PowerShell command completes so there's no process running and the container exits.

This is a key thing to remember: if you want to keep a container running in the background, the process that Docker starts when it runs the container has to keep running.

Now you've seen that a container is created from an image, but it can run in different ways. So you can use the image exactly as it was prepared, or treat the image as a template with a default startup mode built in. Next, I'll show you how to build that image.

主站蜘蛛池模板: 英德市| 高平市| 聂荣县| 安宁市| 阳江市| 万宁市| 西乌珠穆沁旗| 潜山县| 宜川县| 龙岩市| 湘西| 中方县| 林甸县| 千阳县| 德州市| 铜川市| 蓝田县| 鸡东县| 彭泽县| 安乡县| 库尔勒市| 罗平县| 论坛| 连州市| 大埔区| 康乐县| 黑河市| 建宁县| 湘乡市| 银川市| 二连浩特市| 哈巴河县| 呼伦贝尔市| 章丘市| 竹山县| 柳江县| 神农架林区| 扎鲁特旗| 建瓯市| 通道| 丰都县|