在容器中,
# git diff selenium60.sh
diff --git a/selenium60.sh b/selenium60.sh
index 6ce5f9f..8893fb3 100644
--- a/selenium60.sh
+++ b/selenium60.sh
@@ -1,2 +1,2 @@
-#!/bin/sh
+#!/bin/sh^M
java -Dphantomjs.binary.path=vendor/bin/phantomjs -Dwebdriver.firefox.profile=default -Dwebdriver.reap_profile=true -jar vendor/bin/selenium-standalone.jar -timeout 60 -browserTimeout 60
\ No newline at end of file
我需要使用git pull来更新我的源代码,那么如何让docker不改变源代码新行呢?
答案 0 :(得分:0)
假设您在主机上运行git pull
,然后在Dockerfile中运行COPY
,文件结尾已由Git转换 - COPY
指令就是这样, Docker不会改变内容。
最简单的解决方法是告诉Git不要更改行结尾,方法是将--config core.autocrlf=input
选项添加到git pull
命令中,该命令不会转换Unix风格的换行符。
或者,您可以使用RUN git clone...
克隆映像内的repo,这意味着您使用Linux进行克隆,因此Git将单独保留换行符。
或者您可以在构建中添加dos2linux
命令,运行它以将CRLF
行结尾替换为LF
,然后删除该实用程序:
RUN apt-get update && apt-get install -y dos2unix
COPY ...
RUN dos2unix ...
最后一个选项以及docker中的Windows vs. Linux换行问题在Will Anderson's blog上有一个很好的记录。