Linux|--sh脚本|--文件执行报错::Error response from daemon: invalid reference format
前言
由于Linux中的docker镜像和容器需要批量处理,
所以搞一个脚本,直接一下处理了,
1.我在Windows 10的本机电脑上新建了一个"test.sh"文件
2.将"test.sh"文件上传到Linux环境中
3.在Linux中执行"sh test.sh"
4.报错了...
第一次报错信息
[root@VM-4-3-centos test_api]# sh dockerLinuxScript.sh
=================begin=================
Error response from daemon: invalid reference format
[+] Building 0.0s (0/0)
ERROR: unable to prepare context: path "/usr/local/webapi/test_api/\r" not found
Error response from daemon: No such container: test_api
docker: invalid reference format.
See 'docker run --help'.
#下面这行的乱码其实是中文"执行完成"
=================ִ▒▒▒▒▒=================
#第一次解决方法
将文件"test.sh"编码,
由"ASCII"修改为了"UTF-8", 这次修改解决了中文乱码的问题,
但是主要错误还在,接着往下看...
第二次报错信息
=================begin=================
Error response from daemon: invalid reference format
[+] Building 0.0s (0/0)
ERROR: unable to prepare context: path "/usr/local/webapi/test_api/\r" not found
Error response from daemon: No such container: test_api
docker: invalid reference format.
See 'docker run --help'.
=================执行完成=================
解决方案
#用vi/vim打开脚本,设置文件格式为unix。
vim test.sh
#或者 "set fileformat=unix"
:set ff=unix
:wq
扩展--1(查看当前文件格式是dos还是unix)
vim test.sh
:set ff
扩展--2( 修改为dos )
set fileformat=dos
#或者
set ff=dos