Я очень плохо знаком с Python и Docker, но, тем не менее, я пытаюсь создать Docker-контейнер для приложения-генератора паролей, которое я написал.Но после сборки приложения я получаю сообщения об ошибках, которые я не знаю, связаны ли они с кодом Python или с тем, как я построил Docker.
Я ожидал, что приложение будет работать нормально, но вместо этого яполучено это сообщение об ошибке:
URL? >> Traceback (most recent call last):
File "pwd1.py", line 6, in <module>
url = input('URL? >> ')
EOFError: EOF when reading a line
Это никогда не было проблемой на моем компьютере или в Sublime, где приложение всегда функционировало нормально.
Это был оригинальный код ("(...) в конце переменной "a", из-за того, что Nano не расшифровывает остальные символы за пределами видимого экрана):
import random
a = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'A', 'a', 'B', 'b', 'C', 'c', 'D', 'd', 'E', 'e', 'F', 'f', 'G','g', 'H', 'h', 'I', 'i', 'J', 'j', 'K', 'k', 'L', 'l', 'M', 'm', 'N', 'n', 'O', 'o', 'P', 'p'(...)]
file = open('/home/mic/python/password-generator/list.py', 'a')
url = input('URL? >> ')
file.write(url)
file.write(' - ')
k: int = int(input('How long? >> '))
b = (str(''.join(random.sample(a, k))))
print(b)
file.write(b)
file.write('\n')
file.close()
После исследования ошибки я изменил код так:
import random
a = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'A', 'a', 'B', 'b', 'C', 'c', 'D', 'd', 'E', 'e', 'F', 'f', 'G','g', 'H', 'h', 'I', 'i', 'J', 'j', 'K', 'k', 'L', 'l', 'M', 'm', 'N', 'n', 'O', 'o', 'P', 'p'(...)]
file = open('list.py', 'a')
url = input('URL? >> ')
while True:
try:
line = input()
except EOFError:
print ("EOFError")
file.write(url)
file.write(' - ')
k: int = int(input('How long? >> '))
b = (str(''.join(random.sample(a, k))))
print(b)
file.write(b)
file.write('\n')
file.close()
Но я получаю то же сообщение об ошибке. Я пробовал этот код на возвышенном, компьютере и онлайн-редакторах, и никто не жаловался на это.
Именно из-за этого я начал думать, что еслиэто как-то связано с моими файлами Docker.
Это мой Dockerfile:
# Use an official Python runtime as a parent image
FROM python:3.7.3
# Set the working directory to /app
WORKDIR /password
# Copy the current directory contents into the container at /app
COPY . /password
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "pwd1.py"]
Я следовал инструкциям, объясненным здесь https://docs.docker.com/get-started,, и когда я пытаюсь запустить приложениес "судо док"er run pwdmanager ", я получаю вышеупомянутое сообщение об ошибке.
Любая помощь будет принята с благодарностью