Я новичок, использующий Docker и Python, и мне нужна помощь. Я пытаюсь запустить программу Python внутри контейнера Docker. Эта программа должна запускаться периодически, поэтому мой подход был после клонирования и установки моей программы, чтобы запустить ее как задание cron. Я создал Dockerfile со всеми шагами, но он не работает. Я попытался войти в контейнер, чтобы запустить приложение, но он показывает мне эту ошибку:Запуск программы python на докере
[email protected]:/bsnap/bsnap# bsnap
Traceback (most recent call last):
File "/usr/local/bin/bsnap", line 9, in <module>
load_entry_point('bsnap==1.1', 'console_scripts', 'bsnap')()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 522, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2647, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2320, in load
return self.resolve()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2326, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "build/bdist.linux-x86_64/egg/bsnap/app.py", line 27, in <module>
File "build/bdist.linux-x86_64/egg/bsnap/log.py", line 33, in <module>
File "/usr/local/lib/python2.7/logging/handlers.py", line 760, in __init__
self._connect_unixsocket(address)
File "/usr/local/lib/python2.7/logging/handlers.py", line 788, in _connect_unixsocket
self.socket.connect(address)
File "/usr/local/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Это мой Dockerfile:
FROM ubuntu:14.04
MAINTAINER Dave J. Franco
RUN echo "deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc) main universe" >> /etc/apt/sources.list
RUN apt-get update && apt-get upgrade -y
#Install container essentials
RUN apt-get install -y tar \
git \
curl \
nano \
wget \
dialog \
net-tools \
build-essential
# Install pip's dependency: setuptools:
RUN apt-get install -y python python-dev python-distribute python-pip
#git clone project
RUN git clone https://github.com/davejfranco/bsnap.git
#ADD the bsnap configuration file
ADD bsnap.conf /bsnap/bsnap/bsnap.conf
WORKDIR /bsnap
#Install bsnap
RUN python setup.py install
#Add an entry on crontab to execute the script every week
RUN echo "30 16 09 04 * root /usr/local/bin/bsnap" >> /etc/crontab
Может ли это быть связано с каким-либо адресом в bsnap.conf? Также cron не будет работать в этом контейнере (и он не должен использоваться в докере в большинстве случаев). – ISanych