Dan*_*iel 5 docker dockerfile docker-compose
当我运行时,docker build我可以使用-t或--tag参数来确定CONTAINER ID.
但是当我使用docker-composethen 我找不到这个选项。
我知道这docker-composer可以创建许多容器,所以也许可以设置CONTAINER IDin docker-compose.yml?这该怎么做?
docker-compose您可以在例如 上执行的Docker Compose 文件中指定它docker-compose.yaml。
构建和部署的工作方式相同。只需将映像名称和标记设置为构建的子集或指定单独的 dockerfile 即可。
version: '2'
services:
webapp:
build:
context: ./dir
image: username/repository:tag
Run Code Online (Sandbox Code Playgroud)
鉴于docker-compose.yaml运行docker-compose up会产生以下结果:
$ docker-compose up
Building webapp
Step 1/1 : FROM hello-world
latest: Pulling from library/hello-world
5b0f327be733: Pull complete
Digest: sha256:1f1404e9ea1a6665e3664626c5d2cda76cf90a4df50cfee16aab1a78f58a3f95
Status: Downloaded newer image for hello-world:latest
---> 05a3bd381fc2
Successfully built 05a3bd381fc2
Successfully tagged myusername/myimagename:1.0
WARNING: Image for service webapp was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating dockercompose_webapp_1 ...
Creating dockercompose_webapp_1 ... done
Attaching to dockercompose_webapp_1
webapp_1 |
webapp_1 | Hello from Docker!
webapp_1 | This message shows that your installation appears to be working correctly.
webapp_1 |
webapp_1 | To generate this message, Docker took the following steps:
webapp_1 | 1. The Docker client contacted the Docker daemon.
webapp_1 | 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
webapp_1 | 3. The Docker daemon created a new container from that image which runs the
webapp_1 | executable that produces the output you are currently reading.
webapp_1 | 4. The Docker daemon streamed that output to the Docker client, which sent it
webapp_1 | to your terminal.
webapp_1 |
webapp_1 | To try something more ambitious, you can run an Ubuntu container with:
webapp_1 | $ docker run -it ubuntu bash
webapp_1 |
webapp_1 | Share images, automate workflows, and more with a free Docker ID:
webapp_1 | https://cloud.docker.com/
webapp_1 |
webapp_1 | For more examples and ideas, visit:
webapp_1 | https://docs.docker.com/engine/userguide/
webapp_1 |
dockercompose_webapp_1 exited with code 0
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da057afd3277 myusername/myimagename:1.0 "/hello" 3 minutes ago Exited (0) 3 minutes ago dockercompose_webapp_1
$ ls
Dockerfile docker-compose.yaml
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,docker-compose up两者都构建了容器并启动了它。它也因此而得名。因此不需要两者docker-compose build都执行,docker-compose up因为docker-compose up都会构建并启动容器。最后,如果出于任何原因需要重建容器,您可以简单地运行docker-compose up --force-recreatedocker 来重建容器,并附加构建标签来重新创建映像:docker-compose up --force-recreate --build
| 归档时间: |
|
| 查看次数: |
7908 次 |
| 最近记录: |