Reputation: 44265
I want to create a docker image with selenium
and chrome
correctly installed, so I choose a base image with these properties. Therefore, the first line of the Dockerfile
is as follows:
FROM selenium/node-chrome:3.7.1-argon
Then the next command is
RUN apt-get update
which created the following error while creating the docker image:
Step 4/19 : RUN apt-get update
---> Running in af08ae07cbf3
Reading package lists...
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
The command '/bin/sh -c apt-get update' returned a non-zero code: 100
How to be able to install python
in this docker image?
Upvotes: 53
Views: 230717
Reputation: 39
First, you would like to log in as root:
sudo docker exec -u root -it 88d53df8fd19 /bin/bash
Once you are there, you will be root and will be able to run commands as such without problems.
Run below command inside container to install python
apt update
apt-get install python3.6
Upvotes: 3
Reputation: 1313
RUN apt-get update
RUN apt-get install -y python3
As hinted by:
Acquire (13: Permission denied)
I believe this is due to your base image:
https://github.com/SeleniumHQ/docker-selenium/blob/master/NodeChrome/Dockerfile
As you can see it swaps from the default user context of 'root' to 'seluser'.
You can either:
USER root
Using sudo
is best avoided in Dockerfiles where possible, so it would be preferable to go with option #2 or #3, rather than #1.
Hope that helps mate.
Upvotes: 72
Reputation: 191
Note: Below commands may require root/administrative previleges.
docker pull ubuntu
docker run -it ubuntu /bin/bash
Note: By default you will be logged in inside container as root user if not then either elevate your privileges to root or use sudo
before below listed commands
apt-get update
apt-get install python2
apt-get install python3
Upvotes: 15