Docker组合:是否可以将本地文件安装到远程守护进程?
使用场景如下所示:
我有一个AWS EC2实例已经configuration了docker-machine 。
我想使用docker-compose在该EC2实例上远程启动一些容器。
撰写文件有这样一个部分:
nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: - "8888:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - /home/ubuntu/nginx.tmpl:/app/nginx.tmpl:ro
如果我在本地使用docker-compose up -d
,那么它将起作用,因为“ /home/ubuntu/nginx.tmpl ”文件出现在我的本地机器上。
但是,如果我尝试使用docker-compose来控制AWS中的远程守护进程,如下所示:
export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://xy:2376" export DOCKER_CERT_PATH="somedir" docker-compose up -d
它会失败,因为“ /home/ubuntu/nginx.tmpl ”文件不存在于远程机器上。
我已经尝试在同一个目录下的远程机器上创build这样的文件,它的工作原理,但感觉错了……
将本地文件挂载到远程docker守护进程的更好方法是什么?
Docker Machine有一个scp
命令,所以你可以将本地文件复制到远程机器,反之亦然:
docker-machine scp ~/my/local/nginx.tmpl machine-name:/home/ubuntu/nginx.tmpl
这里是参考文档 。
- 如何将文件从Docker Ubuntu容器复制到Windows主机
- Docker容器端口问题:无法使用主机IP访问tomcat url
- 包括pom.xml中的vaadin-cdi依赖关系足以使WAR不可部署。 为什么?
- 在Python PyCharm的subprocess中运行docker
- “价值不能为空。 参数名称:userName“在Docker中安装MSSQL 2014 Express时出错
- Docker的缩写–name运行选项
- 启动新的Docker容器,每次运行新的Bamboo build并使用容器运行构build
- 在Docker容器中连接tomcat到mysql时遇到问题?
- 从Image名称中获取docker IP地址