22

I used Dockerfile successfully built a container. However, my code doesn't work in the container. It does work if I install all the packages manually. I'm assuming I messed up something that cause docker didn't install the packages properly. So, I want to check whether python package is installed or not in Docker container. What is the best way to check it?

The Dockerfile I used:

# Update the sources list
RUN sudo apt-get update

# Install basic applications
RUN sudo apt-get install -y tar git curl nano wget dialog net-tools build-essential

# First install ZeroMQ
RUN sudo apt-get install -y libzmq-dev

# Install libevent
RUN sudo apt-get install -y libevent-dev

# Install Python and Basic Python Tools
RUN sudo apt-get install -y python python-dev python-setuptools
RUN sudo apt-get install -y python-pip 

# Add the current directory to the container
ADD . /root/code

# Get pip to download and install requirements:
RUN sudo pip install -r /root/code/requirements.txt

# Expose ports
EXPOSE 80 4242

# Define working directory.
WORKDIR /root/code

# Start the tcp server.
CMD python app.py

The requirements.txt I used:

gevent==1.0.1
greenlet==0.4.5
msgpack-python==0.4.2
pyzmq==13.1.0
wsgiref==0.1.2
zerorpc==0.4.4
Bruce Yong Li
  • 1,186
  • 1
  • 10
  • 20

1 Answers1

55

I figured out.

docker exec <container ID> pip list
Bruce Yong Li
  • 1,186
  • 1
  • 10
  • 20
  • are you sure all the modules inside requirements.txt are get installed/accessible in docker container? – Prasad Shinde Aug 30 '18 at 06:43
  • 1
    This command has nothing to do with `requirements.txt`. `docker exec pip list` is basically run `pip list` inside of the container to get all packages installed for the default python of the container. So, to make sure you have packages in your requirements.txt installed, you may try `docker exec cd && pip install -r requirements.txt` – Bruce Yong Li Sep 25 '18 at 18:07
  • 1
    for me this one worked: _docker run pip list_. – Morteza Mashayekhi Jan 17 '19 at 14:33
  • The question is how can you list all packages inside docker image without running container – vogash Jul 02 '19 at 13:45
  • For me to update the version to pymongo 4.0, so I switched to version 3.12.1 and it worked. Thank you very much. – Diego Castanho Dec 06 '21 at 19:58