Я получаю «docker: ответ об ошибке от демона: сбой при создании OCI» с open_uri в Ruby - PullRequest
0 голосов
/ 08 февраля 2020

Я получаю сообщение об ошибке: «docker: ответ об ошибке от демона: сбой создания среды выполнения OCI», когда я передаю аргумент для своего Docker образа при запуске.

Исходный код моего приложения следующий:

require "open-uri"
require "nokogiri"

crawling_url = ARGV[0]

unless crawling_url
  puts "URL to crawl is empty"
  exit 1
end

puts crawling_url
page = Nokogiri.HTML(open(crawling_url))

puts page.title

И Dockerfile - это:

FROM ruby:2.6

# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1

WORKDIR /usr/src/app

COPY Gemfile Gemfile.lock ./
RUN gem install bundler
RUN bundle install

COPY . .

CMD ["ruby", "/usr/src/app/crawler.rb"]

Я использую команду построения:

$ docker build -t crawler .

Когда я не даю никаких аргументов моему сценарию, это работает, но когда я даю один, это не так.

$ docker run -it crawler
URL to crawl is empty

$ docker run -it crawler "https://google.com"
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"https://google.com\": stat https://google.com: no such file or directory": unknown.
ERRO[0001] error waiting for container: context canceled

Что с ним не так?

1 Ответ

0 голосов
/ 08 февраля 2020

Это сработало после того, как я наконец изменил CMD на ENTRYPOINT.

ENTRYPOINT ["ruby", "/usr/src/app/crawler.rb"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...