【发布时间】:2021-06-08 15:39:57
【问题描述】:
我的 docker run 失败了,因为 git 抱怨我没有设置旧图像不需要的用户配置。
From git.mysite.com:user/project
* branch dev -> FETCH_HEAD
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@V_2_compute1.(none)')
我有两个非常相似但行为不同的 Dockerfile。
第一个以nvcr.io/nvidia/tensorflow:20.02-tf1-py3 作为源,第二个以nvcr.io/nvidia/tensorflow:20.12-tf2-py3 作为源。 第一个是 Ubuntu 18.04,第二个是 Ubuntu 20.04。检查容器时,它们有不同的 git 版本(2.17.1 vs 2.25.1),但我不确定这是否是问题所在。
这里是两个 Dockerfile(简化):
# syntax=docker/dockerfile:experimental
FROM nvcr.io/nvidia/tensorflow:20.02-tf1-py3 as intermediate
ARG SSH_PRIVATE_KEY
RUN apt-get update \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y git \
&& mkdir /srv/username \
&& cd /srv/username
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan git.mysite.com >> ~/.ssh/known_hosts
ADD "https://www.random.org/cgi-bin/randbyte?nbytes=10&format=h" skipcache
RUN --mount=type=ssh git clone -b master git@git.mysite.com:user/project.git /srv/username/project
ENV PYTHONPATH "${PYTHONPATH}:/srv/username/project"
CMD /usr/sbin/service ssh restart && cd /srv/username/project && git pull origin feature-branch && git checkout feature-branch \
&& /srv/username/project/script.py
有问题的:
# syntax=docker/dockerfile:experimental
FROM nvcr.io/nvidia/tensorflow:20.12-tf2-py3 as intermediate
ARG SSH_PRIVATE_KEY
RUN apt-get update \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y git \
&& mkdir /srv/username \
&& cd /srv/username
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan git.mysite.com >> ~/.ssh/known_hosts
ADD "https://www.random.org/cgi-bin/randbyte?nbytes=10&format=h" skipcache
RUN --mount=type=ssh git clone -b master git@git.mysite.com:user/project.git /srv/username/project
ENV PYTHONPATH "${PYTHONPATH}:/srv/username/project"
CMD /usr/sbin/service ssh restart && cd /srv/username/project && git pull origin dev && git checkout dev \
&& /srv/username/project/script.py
为什么我现在必须在最新版本中配置用户?
【问题讨论】:
标签: git docker ubuntu-20.04 nvidia-docker