我们试图在远程主机上构建和运行docker-compose项目。我尝试使用:
docker-compose -H 'ssh://remote_address' up --build并得到了
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?所以我们尝试了:
docker-compose -H 'ssh://remote_address' build
docker-compose -H 'ssh://remote_address' up它工作得很好。我的问题是,我在文档中找不到证据证明这是正确的行为。这是docker-compose中的一个bug,还是我的环境中的一个bug?
发布于 2021-03-25 05:45:10
我不确定你得到的第一个命令的错误,我的意思是docker-compose -H 'ssh://ip' up --build,因为它可能真的是一个但是,但提到的三个命令肯定是不同的。我会试着用我简单的方式来解释:
docker-compose up --build.此命令查找docker-compose文件并重新构建映像,然后使其运行。假设您对docker-compose文件进行了一些更改,因此当您只运行docker-compose时,您将得到一个警告,指出镜像未重新构建,您应该运行docker-compose up --build来重新构建它,并重新构建所有内容(尽管之前已经做了一些工作并在缓存中显示)。
docker-compose build.这个命令只在docker-compose的基础上构建你的镜像,而不是 it。您可以查看由docker image ls或docker images构建的映像。另外,执行docker ps -a应该看不到您最近构建的映像正在运行。
第三个也是最后一个命令是docker-compose up.
如果第一次输入此命令,它会尝试运行Dockerfile中的所有内容(如果存在),并下载基础镜像等。然后生成镜像并运行容器。
如果以前构建过镜像,它就会直接运行它。
与第一个命令不同,第三个命令只运行该映像的最新构建,但不会再次构建它。
https://stackoverflow.com/questions/66782028
复制相似问题