我有一个docker compose文件,其中定义了2个服务。
version: "3.3"
services:
dspacedb:
image: dspace/dspace-postgres-pgcrypto
dspace:
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-dspace-6_x-jdk8-test}"
我从docker-compose -p d6 up -d
开始这些服务。将创建以下容器。注意容器名称。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97942f423019 dspace/dspace:dspace-6_x-jdk8-test "catalina.sh run" 6 minutes ago Up 6 minutes 8009/tcp, 0.0.0.0:8080->8080/tcp d6_dspace_1_1d05102eaca4
61a2ea0ed477 dspace/dspace-postgres-pgcrypto "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 5432/tcp d6_dspacedb_1_bcb7cafd3c1d
我最近升级到了Windows 2.0.0.0的Docker。升级之前,生成的容器名称更加可预测。
自升级以来,我现在在每个容器名称上看到一个唯一的后缀。这个独特的后缀使使用docker exec
运行命令时访问容器要复杂一些。
docker exec -it d6_dspace_1 /bin/bash
现在需要以
执行docker exec -it d6_dspace_1_1d05102eaca4
有没有我可以使用的工具,它可以访问容器而不用复制和粘贴容器名称中的后缀。我正在寻找类似以下的内容
docker-compose exec -p d6 dspace
或者,可以在docker-config文件中添加一些内容以防止将后缀添加到容器名称中吗?
(进一步调查之后,看来我可以在撰写文件中设置container_name了。https://docs.docker.com/compose/compose-file/#container_name)