参考 : docker-dockerfile构建与部署nginx - 走看看
1.准备nginx配置文件
cat > nginx.con <<'EOF'
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
stream {
server {
listen 80;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass 127.0.0.1:9876;
}
}
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
EOF
该配置文件为转发rocketmq端口
2.Dockerfile
cat > Dockerfile <<'EOF'
# 基础镜像
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
RUN ln -sf /usr/share/zoneinfo/Asia/ShangHai /etc/localtime \
&& echo Asia/Shanghai > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata
EXPOSE 80
ENTRYPOINT ["nginx"]
CMD ["-g","daemon off;"]
EOF
3.构建
docker build -t nginx:0.1 .
4.运行
docker run -d -p 80:80 --name nginx nginx:0.1