docker-web服务应用 nginx

本文详细介绍了如何使用Docker构建Nginx环境,包括创建Dockerfile、定义镜像、设置工作目录、暴露端口等步骤,并通过示例展示了如何运行和测试构建的Docker镜像。

 

1.准备环境

mkdir nginx_ubuntu  && cd nginx_ubuntu

2. dockerfile

#继承创建信息
FROM sshd:dockerfile

#创建者信息
MAINTAINER chao

#安装nginx,设置nginx以非daemon启动
RUN apt-get install -y nginx && rm -rf  /var/lib/apt/lists/* && echo "\ndaemon off;" >>/etc/nginx/nginx.conf &&   chown -R www-data:www-data /var/lib/nginx

#设置时区
COPY ./Shanghai /etc/localtime


#添加脚本 设置权限
ADD run.sh /run.sh
RUN chmod 755 /run.sh

#定义挂载目录,分别是虚拟主机的挂载目录,证书目录,配置目录和日志目录
VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/certs","/etc/nginx/conf.d","/var/log/nginx"]

#定义工作目录
WORKDIR /etc/nginx

#定义输出命令
CMD ["/run.sh"]

#定义输出端口
EXPOSE 80
EXPOSE 443

3. run.sh脚本内容

#!/bin/bash
/usr/sbin/sshd &
/usr/sbin/nginx

4.创建镜像

docker build -t nginx:ubuntu .

5. 测试

5.1 启动docker镜像

docker run -d -P nginx:ubuntu

5.2 查看

[root@kubernetes /data/docker/nginx]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                                                                  NAMES
380ed7e28ec4        nginx:web           "/run.sh"                About a minute ago   Up About a minute   0.0.0.0:32786->22/tcp, 0.0.0.0:32785->80/tcp, 0.0.0.0:32784->443/tcp   agitated_heisenberg

5.3 本地查看

curl 127.0.0.1:32785

 

 
PS C:\Users\34537\dify\docker> docker compose up -d [+] Running 12/12 ✔ Network docker_default Created 0.1s ✔ Network docker_ssrf_proxy_network Created 0.0s ✔ Container docker-weaviate-1 Started 1.3s ✔ Container docker-sandbox-1 Started 1.5s ✔ Container docker-db-1 Healthy 4.0s ✔ Container docker-redis-1 Started 1.4s ✔ Container docker-ssrf_proxy-1 Started 1.5s ✔ Container docker-web-1 Started 1.5s ✔ Container docker-api-1 Started 4.7s ✔ Container docker-worker-1 Started 4.6s ✔ Container docker-plugin_daemon-1 Started 4.4s ✔ Container docker-nginx-1 Started 4.9s PS C:\Users\34537\dify\docker> docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS docker-api-1 langgenius/dify-api:1.5.1 "/bin/bash /entrypoi…" api 14 seconds ago Up 9 seconds 5001/tcp docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 14 seconds ago Up 12 seconds (healthy) 5432/tcp docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 14 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp docker-plugin_daemon-1 langgenius/dify-plugin-daemon:0.1.3-local "/bin/bash -c /app/e…" plugin_daemon 14 seconds ago Up 9 seconds 0.0.0.0:5003->5003/tcp docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 14 seconds ago Up 13 seconds (health: starting) 6379/tcp docker-sandbox-1 langgenius/dify-sandbox:0.2.12 "/main" sandbox 14 seconds ago Up 13 seconds (health: starting) docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy 14 seconds ago Up 12 seconds 3128/tcp docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate 14 seconds ago Up 13 seconds docker-web-1 langgenius/dify-web:1.5.1 "/bin/sh ./entrypoin…" web 14 seconds ago Restarting (0) 3 seconds ago docker-worker-1 langgenius/dify-api:1.5.1 "/bin/bash /entrypoi…" worker 14 seconds ago Up 9 seconds 5001/tcp PS C:\Users\34537\dify\docker> docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS docker-api-1 langgenius/dify-api:1.5.1 "/bin/bash /entrypoi…" api 2 minutes ago Up 2 minutes 5001/tcp docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 2 minutes ago Up 2 minutes (healthy) 5432/tcp docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 2 minutes ago Restarting (1) 10 seconds ago docker-plugin_daemon-1 langgenius/dify-plugin-daemon:0.1.3-local "/bin/bash -c /app/e…" plugin_daemon 2 minutes ago Up 2 minutes 0.0.0.0:5003->5003/tcp docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 2 minutes ago Up 2 minutes (healthy) 6379/tcp docker-sandbox-1 langgenius/dify-sandbox:0.2.12 "/main" sandbox 2 minutes ago Up 2 minutes (unhealthy) docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy 2 minutes ago Up 2 minutes 3128/tcp docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate 2 minutes ago Up 2 minutes docker-web-1 langgenius/dify-web:1.5.1 "/bin/sh ./entrypoin…" web 2 minutes ago Restarting (0) 56 seconds ago docker-worker-1 langgenius/dify-api:1.5.1 "/bin/bash /entrypoi…" worker 2 minutes ago Up 2 minutes 5001/tcp PS C:\Users\34537\dify\docker> docker logs docker-web-1 PS C:\Users\34537\dify\docker> docker logs --tail 100 docker-web-1 PS C:\Users\34537\dify\docker> docker logs --previous docker-web-1 unknown flag: --previous See 'docker logs --help'. 其中docker-web-1一直在Restarting,并且关于web日志一直没反应,该怎么办(说中文)
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值