如何使用docker image运行docker-compose?

时间:2019-05-01 11:13:57

标签: docker deployment docker-compose

我已使用docker save image-name > image-name.tarcat image-name.tar | docker load将我的docker-compose容器从开发机器移至服务器。我可以看到通过运行docker images已加载图像。但是,当我想使用docker-compose up启动服务器时,它表示没有任何docker-compose.yml。而且实际上没有任何.yml文件。那怎么办呢?

更新 将所有项目文件复制到服务器(包括docker-compose.yml)后,所有内容开始工作。但这是正常方法吗,为什么我需要先保存图像?

1 个答案:

答案 0 :(得分:0)

使用docker save image-name > image-name.tarcat image-name.tar | docker load可以达到的目的是,将Docker image 放入存档,然后在另一台计算机上提取 image 那。您可以检查docker run --rm image-name是否可以正常工作。

图像就像可以用于运行容器的蓝图。这与docker-compose.yml无关,scp docker-compose.yml remote_machine:/home/your_user/docker-compose.yml只是一个配置文件,必须位于您计算机的某个位置。您必须手动将此文件复制到要在其上运行映像的远程计算机,例如使用docker-compose up。然后,您可以从/home/your_user运行<?php $calling_file = basename(__FILE__); include 'my_common_includes.php'; // Going to use my navbar function "my_navbar" my_navbar($calling_file); // Call the navbar function ?>

编辑:有关已更新问题的其他信息:

  

更新将所有项目文件复制到服务器(包括docker-compose.yml)后,所有内容开始工作。但这是正常方法吗,为什么我需要先保存图像?

就我个人而言,我从未使用过这种传输Docker映像的方法(但是很酷,不知道)。通常,您要做的是将映像推送到Docker注册表(正式的DockerHub注册表或自托管注册表),然后从那里拉出映像。