背景:
我想从10.64.24.20这个服务器中将docker的镜像中的nginx镜像复制到10.64.24.21这台服务器中进行前端环境的部署
操作步骤:
第一步:通过10.64.24.20 docker images查看到是否该服务器上有nginx,如果有就可以进行以下操作。
第二步:在10.64.24.20复制镜像文件 指令: docker save nginx:luxi -o /nginx-test.tar, 效果如图所示
第三步:在10.64.24.20 nginx镜像远程进行拷贝 指令: scp nginx-test.tar root@10.64.24.21:/ (通过scp通道将nginx-test.tar文件拷贝到10.64.24.21服务器中root用户下面的根目录下),在本台服务器中要查看另外一台服务器上的文件内容,可以使用ssh通道,具体指令为ssh 10.64.24.21 ,效果图如下(切换到21服务器):
第四步:此时已经将20服务器上面得文件拷贝到了21服务器中,在10.64.24.21服务器中运行 docker load < nginx-test.tar
第五步:运行
docker run -itd --name st-test-ui --publish 9595:80 -v /home/nodejs/st-test-nginx/default.conf:/etc/nginx/conf.d/default.conf -v /home/nodejs/st-test-nginx/:/usr/share/nginx/html/ nginx:luxi 注意:标红的地方需要进行更改,如果路径没有变化就不需要做变更。
运行后会出现错误,这个错误是因为没有default.conf文件导致,或者是这个文件不正确导致,因此如果21服务器上有这个文件就需要使用 rm -r default.conf进行删除该文件,并重新拷贝一份文件进入到该目录下。如下图所示:
第六步:由于我们已经运行了一个st-test-ui服务了,因此需要删除之前的服务并进行重新部署,删除之前服务:docker rm st-test-ui,重新运行 docker run -itd --name st-test-ui --publish 9595:80 -v /home/nodejs/st-test-nginx/default.conf:/etc/nginx/conf.d/default.conf -v /home/nodejs/st-test-nginx/:/usr/share/nginx/html/ nginx:luxi ,最后 在st-test-nginx目录下的home/nodejs中就能看到default.conf文件了
第七部:docker images就可以直接看到nginx服务了。