我正在使用docker-compose和docker-compose.yml文件。
有没有办法进入.yml,另一个docker的ID(在同一个docker-compose.yml中)?
搬运工-compose.yml:
containerA:
command: python -u catch_sig.py
volumes:
- /workspace:/app
containerB:
command: echo -e "POST /containers/containerA/kill?signal=SIGUSR1 HTTP/1.0\r\n" | nc -U /tmp/docker.sock
答案 0 :(得分:3)
使用较新的docker-compose版本(我有1.8.0)你可以做
$ docker-compose ps -q
只会显示ID。 查看用法。
$ docker-compose ps --help
List containers.
Usage: ps [options] [SERVICE...]
Options:
-q Only display IDs
答案 1 :(得分:3)
您可以通过以下方式获取容器的ID:
ENV APP_JAR = "/app/service/lib/service-1.0.0.jar"
# CMD ["java", "-jar", "/app/service/lib/service-1.0.0.jar"]
CMD ["java", "-jar", $APP_JAR]
答案 2 :(得分:1)
要获取所有ID容器:
docker-compose ps -q
如果您需要获得一个ID:
docker-compose ps -q some_name_container_in_yml_file
答案 3 :(得分:0)
不确定.yml文件,但如果您链接容器,则可以/etc/hosts
中的class ViewController: UIViewController {
var backMusic: AVAudioPlayer!
// ...
@IBAction func buttonTouchUpInside(sender: AnyObject) {
backMusic = setupAudioPlayerWithFile("sound", type: "wav")
backMusic.play()
}
}
获取ID。也许这会有所帮助。
答案 4 :(得分:0)
您可以将Docker客户端添加到containerB,然后将DOCKER_HOST环境设置为基础主机(请务必配置其设置,以便它接受网络上的TCP连接)。然后,您可以使用容器名称docker inspect containerA
来标识要查询的主机。
这应该为您提供containerA的容器ID。