我尝试用selenium python包重新构建一个docker镜像是不成功的。我不知道该怎么办。
这是我的dockerfile:
FROM selenium/standalone-chrome:latest
WORKDIR /usr/local/bin
RUN sudo apt-get update
RUN sudo apt-get install software-properties-common
RUN sudo apt-add-repository universe
RUN sudo apt-get install python-pip
RUN pip3 install -r requirements.txt
RUN pip3 install .
RUN pip3 install -e .
COPY ./* ./
我很确定这是我的dockerfile错了,但是在尝试了各种安装pip的方法后,我正在画一个空白。
无论如何我都会打电话: docker build -t webdriver。
其中输出以下内容:
Sending build context to Docker daemon 4.608kB
Step 1/10 : FROM selenium/standalone-chrome:latest
---> 11258d1f9aba
Step 2/10 : WORKDIR /usr/local/bin
---> Using cache
---> 9297517083f6
Step 3/10 : RUN sudo apt-get update
---> Using cache
---> f9004a85fc1a
Step 4/10 : RUN sudo apt-get install software-properties-common
---> Running in bb2336c4ae46
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
apt-utils cron gir1.2-glib-2.0 iso-codes libapt-inst2.0 libcurl3-gnutls
libgirepository-1.0-1 librtmp1 python-apt-common python3-apt python3-dbus
python3-gi python3-pycurl python3-software-properties unattended-upgrades
xz-utils
Suggested packages:
anacron logrotate checksecurity exim4 | postfix | mail-transport-agent
isoquery python3-apt-dbg python-apt-doc python-dbus-doc python3-dbus-dbg
libcurl4-gnutls-dev python-pycurl-doc python3-pycurl-dbg bsd-mailx
mail-transport-agent
The following NEW packages will be installed:
apt-utils cron gir1.2-glib-2.0 iso-codes libapt-inst2.0 libcurl3-gnutls
libgirepository-1.0-1 librtmp1 python-apt-common python3-apt python3-dbus
python3-gi python3-pycurl python3-software-properties
software-properties-common unattended-upgrades xz-utils
0 upgraded, 17 newly installed, 0 to remove and 5 not upgraded.
Need to get 3615 kB of archives.
After this operation, 22.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] Abort.
The command '/bin/sh -c sudo apt-get install software-properties-common' returned a non-zero code: 1
我猜“你想继续吗?[Y / n] Abort。”需要回答“Y”,但我不知道该怎么做。我怀疑我错过了更多。
毋庸置疑,我的python脚本仍然无法运行,因为它需要selenium:
Traceback (most recent call last):
File "web-test.py", line 3, in <module>
from selenium import webdriver
谁能告诉我哪里出错了?
答案 0 :(得分:0)
您已正确识别错误。您需要回答问题:Do you want to continue? [Y/n]
和Y
,然后继续。因此,按如下所示更改您的docker文件并添加标志-y
FROM selenium/standalone-chrome:latest
WORKDIR /usr/local/bin
RUN sudo apt-get -y update
RUN sudo apt-get install -y software-properties-common
RUN sudo apt-add-repository -y universe
RUN sudo apt-get install -y python3-pip
RUN pip3 install -r requirements.txt
RUN pip3 install .
RUN pip3 install -e .
COPY ./* ./
-y标志可用于假设YES
用于所有apt安装。您需要添加-y
标志,因为docker build
命令不能在交互模式下运行。因此,必须在Dockerfile
中添加构建过程中的所有交互。 (Read this answer)
由于要使用pip3
,因此需要正确安装。您正在尝试安装pip2
。我已经相应地更新了您的docker文件。您需要使用以下命令来安装pip3。
RUN sudo apt-get install -y python3-pip
答案 1 :(得分:0)
您的Dockerfile中有几件事:
RUN sudo apt-get update
RUN sudo apt-get install software-properties-common
RUN sudo apt-add-repository universe
RUN sudo apt-get install python-pip
Need to get 3615 kB of archives.
After this operation, 22.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] Abort.
The command '/bin/sh -c sudo apt-get install software-properties-common' returned a non-zero code: 1
您需要在上面的Docker命令中添加标志-y
,以便在Docker构建期间,它可以自动为您说出Yes
。