0

我的码头文件

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

容器 ID 图像命令创建
状态端口名称

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。这可能不是你想要的。要使用 Bundler 运行 Nanoc,请使用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 文件。

4

1 回答 1

0

码头工人文件:

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 构建命令:

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 文件

于 2020-02-20T12:57:37.500 回答