如何在本地虚拟机中复制文件或如何在本地虚拟机中编辑 yml 文件? (docker 堆栈)
How to copy files inside a local virtual machine or how to edit a yml file inside a local virtual machine? (docker stack)
我正在学习有关 docker 堆栈、集群、组合等的教程
老师连接到 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
所以我得到
Tommaso@N552VW-Tommaso MINGW64 /c/Applicazioni_Tommaso/Docker Toolbox
$ Docker-machine ssh node1
( '>')
/) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY.
(/-_--_-\) www.tinycorelinux.net
然后
docker@node1:~/srv/swarm-stack-1$ pwd
/home/docker
好的,但是 /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@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
所以,有人可以帮助我了解如何在我的 VM 中复制文件(以便找出它在我的 PC 中的路径)或如何安装程序以安装 vim 然后安装 vim 在我的虚拟机中 ?
已解决
这里的解决方案不是通过 ssh 进入 VM,而是通过以下方式切换到 VM 上下文:
docker-machine env node1
eval $(docker-machine env node1)
通过这样做,您处于 VM 上下文中,因此 docker node ls
并且所有 swarm 命令都可以工作,但是您仍然可以访问本地文件,因为您不在 VM 中。
所以,在 运行 上面的两行之后,我终于可以将我的当前目录切换到包含我想在 [=24= 中输入的 docker-compose 文件的课程仓库] stack deploy 命令,和 运行:
docker stack deploy -c example-voting-app-stack.yml voteapp
完成后,要将上下文更改回本地计算机,请执行以下操作:
docker-machine env -u
eval $(docker-machine env -u)
我正在学习有关 docker 堆栈、集群、组合等的教程
老师连接到 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
所以我得到
Tommaso@N552VW-Tommaso MINGW64 /c/Applicazioni_Tommaso/Docker Toolbox
$ Docker-machine ssh node1
( '>')
/) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY.
(/-_--_-\) www.tinycorelinux.net
然后
docker@node1:~/srv/swarm-stack-1$ pwd
/home/docker
好的,但是 /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@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
所以,有人可以帮助我了解如何在我的 VM 中复制文件(以便找出它在我的 PC 中的路径)或如何安装程序以安装 vim 然后安装 vim 在我的虚拟机中 ?
已解决
这里的解决方案不是通过 ssh 进入 VM,而是通过以下方式切换到 VM 上下文:
docker-machine env node1
eval $(docker-machine env node1)
通过这样做,您处于 VM 上下文中,因此 docker node ls
并且所有 swarm 命令都可以工作,但是您仍然可以访问本地文件,因为您不在 VM 中。
所以,在 运行 上面的两行之后,我终于可以将我的当前目录切换到包含我想在 [=24= 中输入的 docker-compose 文件的课程仓库] stack deploy 命令,和 运行:
docker stack deploy -c example-voting-app-stack.yml voteapp
完成后,要将上下文更改回本地计算机,请执行以下操作:
docker-machine env -u
eval $(docker-machine env -u)