我已经使用以下命令安装了 TensorFlow
docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel
我需要在 Windows 机器上设置 TensorFlow Serving。我按照 说明 并在安装 TensorFlow Serving 依赖项时运行下面提到的
sudo
命令:
sudo apt-get update && sudo apt-get install -y \
build-essential \
curl \
git \
libfreetype6-dev \
libpng12-dev \
libzmq3-dev \
pkg-config \
python-dev \
python-numpy \
python-pip \
software-properties-common \
swig \
zip \
zlib1g-dev
显示以下错误:
bash: sudo: command not found
docker 附带 root,它不需要 sudo。
顺便说一句,如果你想在 docker 中使用 sudo 的话
install sudo
,
试试这个,
apt-get update && \
apt-get -y install sudo
现在您可以在 docker 中将 sudo 与命令一起使用...
Docker 镜像通常没有
sudo
,默认情况下您已经以 root
身份运行。尝试一下
apt-get update && apt-get install -y build-essential curl git libfreetype6-dev libpng12-dev libzmq3-dev pkg-config python-dev python-numpy python-pip software-properties-common swig zip zlib1g-d
如果您不想以 root 身份运行,请参阅 有关用户命令的 Docker 文档。
我们不想通过在容器中安装 sudo 来削弱容器的安全性。但我们也不想改变在普通机器上工作的现有脚本,以便它们在不需要 sudo 的 docker 中工作。
相反,我们可以定义一个虚拟的 bash 脚本来替换 sudo,它只执行参数而不提升权限,并且仅在 docker 镜像内定义。
将其添加到您的 Dockerfile 中:
# Make sudo dummy replacement, so we don't weaken docker security
RUN echo "#!/bin/bash\n\$@" > /usr/bin/sudo
RUN chmod +x /usr/bin/sudo
我不被允许在我的容器中安装 sudo。对我来说,解决方案是以 root 身份进入容器终端:
docker exec -u root -it <container name/id>