我已使用docker save image-name > image-name.tar
和cat image-name.tar | docker load
将我的docker-compose容器从开发机器移至服务器。我可以看到通过运行docker images
已加载图像。但是,当我想使用docker-compose up
启动服务器时,它表示没有任何docker-compose.yml。而且实际上没有任何.yml文件。那怎么办呢?
更新 将所有项目文件复制到服务器(包括docker-compose.yml)后,所有内容开始工作。但这是正常方法吗,为什么我需要先保存图像?
答案 0 :(得分:0)
使用docker save image-name > image-name.tar
和cat 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注册表或自托管注册表),然后从那里拉出映像。