Во время работы контейнера Docker возникает ошибка текущего рабочего каталога или любого из его родителей, похоже, это сайт Nanoc.

Мой файл докера

FROM ruby:latest

# Create app directory
WORKDIR /usr/src/app

COPY Gemfile .

# Copy the files
COPY . ./docs

RUN bundler install    
RUN bundle exec nanoc

EXPOSE 5300 
CMD [ "nanoc", "view" ]

При запуске контейнера сборки:

Шаг : 1

Успешно построен 2fa7cc6d083b

Шаг : 2

 root@ubuntu:/var/docs# docker run -p 0.0.0.0:4300:4300 --name nanoc-latest -t -d nanoc:latest                                                                                                

414b227902d15bbe831d8c77f7c68a3c2ca48ae20c9f20e68f92d52f55350b31

Шаг 3

root@ubuntu:/var/docs# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED   STATUS              PORTS               NAMES                                                                                                                       

Шаг 4

root@ubuntu-s-2vcpu-2gb-sgp1-01:/var/docs# docker ps -a

КОНТЕЙНЕР ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ КОМАНДА СОЗДАНА
СТАТУС НАЗВАНИЯ ПОРТОВ

414b227902d1        nanoc:latest        "/bin/sh -c /usr/loc…"   9 seconds ago    Exited (1) 6 seconds ago  nanoc-latest                                                                                                                

Шаг : 5

root@ubuntu:/var/docs# sudo docker logs 414b227902d1

Gemfile был обнаружен, но Bundler не загружен. Это, вероятно, не то, что вы хотите. Чтобы запустить Nanoc с Bundler, используйте bundle exec nanoc.

Ошибка: Текущий рабочий каталог или какой-либо из его родительских каталогов не является сайтом Nano c.

Я пытался открыть контейнер изображения nanoc

root@ubuntu:/var/docs#   docker run -ti --entrypoint=sh nanoc   
# ls  
Gemfile  Gemfile.lock  docs   
# cd docs    
# ls   
Dockerfile  Gemfile  m1  m2  m3  m6

Так что нет файла nanoc.


person Aathitha Nambi    schedule 15.02.2020    source источник
comment
Вы используете dockerfile или просто используете команды?   -  person Vivek Kumar    schedule 15.02.2020
comment
Да, я использую файл Docker.   -  person Aathitha Nambi    schedule 15.02.2020
comment
В сообщении об ошибке предлагается bundle exec nanoc; это помогает?   -  person David Maze    schedule 15.02.2020
comment
Нет, ту же ошибку я получаю даже после добавления упаковщика exec nanoc. Мне нужно запустить команду внутри файла nanoc. Нам нужно найти, как перемещаться внутри файла nanoc и запускать упаковщик nanoc, я думаю   -  person Aathitha Nambi    schedule 16.02.2020


Ответы (1)


Докер-файл:

FROM ruby:2.3
RUN mkdir -p /user/src/app
COPY . /usr/src/app
WORKDIR /usr/src/app/docs

RUN bundle install
RUN bundle exec nanoc
EXPOSE 3000
CMD bundle exec nanoc view

Команда сборки докера:

docker build -f Dockerfile -t nanoc:latest .
docker run -p 0.0.0.0:3000:3000 --name nanoc-latest -t -d nanoc:latest

Вы успешно получили развернутый файл index.html.

person Aathitha Nambi    schedule 20.02.2020