如何在本地虚拟机内复制文件或如何在本地虚拟机内编辑yml文件?(docker stack)

如何在本地虚拟机内复制文件或如何在本地虚拟机内编辑yml文件?(docker stack),docker,virtual-machine,docker-swarm,docker-stack,Docker,Virtual Machine,Docker Swarm,Docker Stack,我正在学习关于docker stack、swarm、compose等的教程 教师连接到swarm的VM,然后从此目录部署docker堆栈docker@node1:~/srv/swarm-stack-1: docker stack deploy -c example-voting-app-stack.yml voteapp 但是,我无法到达那里,因为我不知道如何将yaml compose文件从课程存储库复制到VM中的目录 我怎样才能找到docker@node1是否位于我的电脑中 以下是我尝试的:

我正在学习关于docker stack、swarm、compose等的教程

教师连接到swarm的VM,然后从此目录部署docker堆栈
docker@node1:~/srv/swarm-stack-1

docker stack deploy -c example-voting-app-stack.yml voteapp
但是,我无法到达那里,因为我不知道如何将yaml compose文件从课程存储库复制到VM中的目录

我怎样才能找到
docker@node1
是否位于我的电脑中

以下是我尝试的:

docker-machine start node1 

Docker-machine ssh node1
docker@node1:~/srv/swarm-stack-1$ vim example-voting-app-stack.yml
-bash: vim: command not found

docker@node1:~/srv/swarm-stack-1$ apt-get vim
-bash: apt-get: command not found
docker@node1:~/srv/swarm-stack-1$ yum install vim
-bash: yum: command not found
docker@node1:~/srv/swarm-stack-1$ apk install vim
-bash: apk: command not found
docker@node1:~/srv/swarm-stack-1$ sudo apt-get install vim
sudo: apt-get: command not found

docker@node1:~/srv/swarm-stack-1$ nano
-bash: nano: command not found
所以我明白了

Tommaso@N552VW-Tommaso MINGW64 /c/Applicazioni_Tommaso/Docker Toolbox
$ Docker-machine ssh node1
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net
然后

那么好吧,但是我的电脑中的
/home/docker
在哪里

因此,我试图通过在VM中创建一个yml文件,然后编辑它,而不是从另一个目录复制它来绕过这个障碍

# create the directory
docker@node1:~$ mkdir srv
docker@node1:~$ cd srv
docker@node1:~/srv$ mkdir swarm-stack-1
docker@node1:~/srv$ cd swarm-stack-1
docker@node1:~/srv/swarm-stack-1$

# create the yml file
touch example-voting-app-stack.yml
在这里我停下来,因为我不知道如何编辑文件

我无法安装vim或安装程序来安装vim

这就是我尝试的:

docker-machine start node1 

Docker-machine ssh node1
docker@node1:~/srv/swarm-stack-1$ vim example-voting-app-stack.yml
-bash: vim: command not found

docker@node1:~/srv/swarm-stack-1$ apt-get vim
-bash: apt-get: command not found
docker@node1:~/srv/swarm-stack-1$ yum install vim
-bash: yum: command not found
docker@node1:~/srv/swarm-stack-1$ apk install vim
-bash: apk: command not found
docker@node1:~/srv/swarm-stack-1$ sudo apt-get install vim
sudo: apt-get: command not found

docker@node1:~/srv/swarm-stack-1$ nano
-bash: nano: command not found
那么,有人能帮助我理解如何在我的虚拟机中复制文件(从而找出它在我的PC中的路径)或者如何安装一个程序来安装vim,然后在我的虚拟机中安装vim吗?

这里的解决方案不是通过ssh连接到VM,而是通过以下方式更改到VM上下文:

docker-machine env node1
eval $(docker-machine env node1)
这样做,您就处于虚拟机上下文中,因此
docker node ls
和所有swarm命令都可以工作,但您仍然可以访问本地文件,因为您不在虚拟机中

因此,在运行上述两行之后,我最终可以将当前目录切换到包含docker compose文件的course repo,我要在docker stack deploy命令中输入该文件,然后运行:

docker stack deploy -c example-voting-app-stack.yml voteapp
完成后,要将上下文更改回本地计算机,请执行以下操作:

docker-machine env -u
eval $(docker-machine env -u)

你不能向“老师”问这些问题吗?我已经问过了,但是我没有得到答案。。