我想使用Docker作为Non-Root用户部署简单的静态网站。我创建了具有以下内容的Docker文件:
FROM nginx:stable
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY ./site.conf /etc/nginx/conf.d/default.conf
COPY . /usr/share/nginx/html
RUN touch /var/run/nginx.pid && \
chown -R 1000:1000 /var/run/nginx.pid && \
chown -R 1000:1000 /var/cache/nginx
USER 1000
VOLUME /var/www
EXPOSE 8086
文件结构
我使用以下命令构建Docker:
docker build -t ubdashboard:v4
使用以下命令运行
docker run -d -p 8086:80 ubdashboard:v4
我可以看到以下容器正在运行:
edureka@edureka:~/dashboard$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a74332a5f568 ubdashboard:v4 "nginx -g 'daemon ..." 7 seconds ago Up 6 seconds 8086/tcp, 0.0.0.0:8086->80/tcp flamboyant_jang
但是当我尝试访问0.0.0.0:8086或0.0.0.0:80时,谷歌浏览器下面的消息如下: 无法访问该网站
http://0.0.0.0:8086/处的网页可能暂时关闭,或者已永久移动到新的网址。
请在这里指导。
答案 0 :(得分:2)
引爆Gerben Jongerius的感言:
8086/tcp, 0.0.0.0:8086->80/tcp
意味着容器上的端口80 / tcp被映射到主机(运行docekr的机器)的所有IP上的端口8086。
要访问Nginx服务器,可以在主机上打开http://127.0.0.1:8086。