当前位置:首页 > CN2资讯 > 正文内容

nginx反向代理harbor

2天前CN2资讯
1、构建基础镜像
#构建ubuntu系统基础镜像
[root@DY-ubuntu-01 ubuntu_base]#vim Dockerfile

FROM ubuntu:20.04
LABEL maintainer="www.wang.org" version="ubuntu_base:v1.0"

RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
apt update && \
apt -y install tree wget vim curl iproute2 tzdata zip unzip && \
rm -rf /etc/localtime && \
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
rm -rf /var/lib/apt/lists/*
[root@DY-ubuntu-01 ubuntu_base]#docker build -t ubuntu_base:v1.0 .#构建php基础镜像
[root@DY-ubuntu-01 php]#vim Dockerfile
FROM ubuntu_base:v1.0
LABEL maintarner="www.wang.org" version="ubuntu_php:v1.1"

ADD php-7.4.30.tar.gz /usr/local/src/

RUN apt update && \
apt -y install gcc make libssl-dev libxml2-dev libsqlite3-dev libcurl3-dev libxml2 sqlite3 pkg-config zlib1g-dev libonig-dev libkrb5-dev libssl-dev libbz2-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype-dev g++ libonig-dev libxslt-dev libzip-dev && \
cd /usr/local/src/php-7.4.30 && \
./configure --prefix=/apps/php74 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo && \
make && make install && \
useradd -r -u 888 nginx && \
rm -rf /usr/local/src/php-7.4.30

COPY php.ini /usr/local/src/php-7.4.30/
COPY www.conf /apps/php74/etc/php-fpm.d/
COPY php-fpm.conf /apps/php74/etc/

[root@DY-ubuntu-01 php]#docker build -t ubuntu_php:v1.1 .#构建nginx基础镜像:
[root@DY-ubuntu-01 nginx]#vim Dockerfile
FROM ubuntu_php:v1.1
LABEL maintainer="www.wang.org" version="ubuntu_nginx:v1.0"

ADD nginx-1.22.0.tar.gz /usr/local/src/

RUN apt update && \
apt install -y nfs-kernel-server nfs-common openssh-server openssl libpcre3 libpcre3-dev
RUN cd /usr/local/src/nginx-1.22.0 && \
./configure --prefix=/apps/nginx && \
make && make install && \
ln -s /apps/nginx/sbin/nginx /usr/bin && \
mkdir /apps/nginx/conf/conf.d && \
rm -rf /usr/local/src/nginx-1.22.0/*

ADD nginx.conf /apps/nginx/conf/nginx.conf

RUN chown -R nginx.nginx /apps/nginx/

COPY run_nginx.sh /usr/local/sbin/

EXPOSE 80 443

CMD ["run_nginx.sh"]

[root@DY-ubuntu-01 nginx]#vim run_nginx.sh
#!/bin/bash
/apps/php74/sbin/php-fpm
/apps/nginx/sbin/nginx -g "daemon off;"

[root@DY-ubuntu-01 nginx]#docker build -t ubuntu_nginx:v1.0 .
2、搭建harbor
#192.168.100.215、192.168.100.216都执行:
#准备harbor安装脚本,脚本参照:https://blog.皇冠云.com/dayu/5787187
[root@DY-ubuntu-06 ~]#bash install_harbor.sh
[root@DY-ubuntu-05 ~]#vim /etc/docker/daemon.json

{
"registry-mirrors": ["https://"],
"insecure-registries": ["192.168.100.215","192.168.100.216","harbor.wang.org"]
}
[root@DY-ubuntu-05 ~]#systemctl restart docker
[root@DY-ubuntu-05 ~]#vim /etc/hosts
192.168.100.217 harbor.wang.org

[root@DY-ubuntu-05 ~]#vim /apps/harbor/harbor.yml
hostname: 192.168.100.215 #改为本机IP
[root@DY-ubuntu-05 ~]#cd /apps/harbor/
[root@DY-ubuntu-05 harbor]#./prepare
[root@DY-ubuntu-05 harbor]#docker-compose down
[root@DY-ubuntu-05 harbor]#docker-compose up -d

#浏览器分别登陆215和216设置harbor复制规则,具体请参照https://blog.皇冠云.com/dayu/5786146
3、nginx反向代理harbor
#192.168.100.217:
[root@DY-ubuntu-07 conf]#cd certs/
[root@DY-ubuntu-07 certs]#openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 2650 -out ca.crt
[root@DY-ubuntu-07 certs]#openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.wang.org.key -out harbor.wang.org.csr
[root@DY-ubuntu-07 certs]#openssl x509 -req -days 3650 -in harbor.wang.org.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.wang.org.crt
[root@DY-ubuntu-07 certs]#cat harbor.wang.org.crt ca.crt > harbor.wang.org.pem
[root@DY-ubuntu-07 certs]#cd
[root@DY-ubuntu-07 ~]#vim /apps/nginx/conf/conf.d/harbor.wang.org.conf

upstream harbor {
hash $remote_addr;
server 192.168.100.215;
server 192.168.100.216;
}

server {
listen 80;
server_name harbor.wang.org;
return 302 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;
ssl_certificate /apps/nginx/conf/certs/harbor.wang.org.pem;
ssl_certificate_key /apps/nginx/conf/certs/harbor.wang.org.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
server_name harbor.wang.org;
client_max_body_size 10g;
location / {
proxy_pass http://harbor;
}
}
4、构建jpress业务镜像
[root@DY-ubuntu-01 jpress]#vim Dockerfile

FROM ubuntu_base:v1.0
LABEL maintainer="www.wang.org" version="ubuntu_jpress:v1.0"

ADD jdk-8u341-linux-x64.tar.gz /usr/local/

RUN cd /usr/local && \
ln -s jdk1.8.0_341/ jdk && \
echo "export JAVA_HOME=/usr/local/jdk\nexport PATH=$PATH:/usr/local/jdk/bin" > /etc/profile.d/jdk.sh

ENV JAVA_HOME /usr/local/jdk
ENV PATH $PATH:${JAVA_HOME}/bin

ADD apache-tomcat-9.0.65.tar.gz /usr/local/

RUN cd /usr/local && \
ln -s apache-tomcat-9.0.65 tomcat

COPY jpress-v5.0.2.war /data/jpress/
COPY server.xml /usr/local/tomcat/conf/server.xml
COPY run_tomcat.sh /usr/local/tomcat/bin/run_tomcat.sh

RUN cd /data/jpress && \
mv jpress-v5.0.2.war ROOT.war && \
groupadd -g 808 -r tomcat && \
useradd -u 808 -g tomcat -M -r tomcat && \
chown -R tomcat.tomcat /data/jpress/ /usr/local/tomcat/

CMD ["/usr/local/tomcat/bin/run_tomcat.sh"]

[root@DY-ubuntu-01 jpress]#ls
Dockerfile jdk-8u341-linux-x64.tar.gz run_tomcat.sh
apache-tomcat-9.0.65.tar.gz jpress-v5.0.2.war server.xml
[root@DY-ubuntu-01 jpress]#vim server.xml
......
<Server port="-1" shutdown="SHUTDOWN">
......
<Host name="localhost" appBase="/data/jpress" unpackWARs="true" autoDeploy="false">
.....

[root@DY-ubuntu-01 jpress]#vim run_tomcat.sh
echo "nameserver 180.76.76.76" > /etc/resolv.conf
su - tomcat -c "usr/local/tomcat/bin/ start"
tail -f /etc/hosts

[root@DY-ubuntu-01 jpress]#docker build -t ubuntu_tomcat:v1.0 .
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32228.html

    分享给朋友:

    “nginx反向代理harbor” 的相关文章

    查看可用端口的重要性与实用方法

    查看可用端口的重要性 查看可用端口是网络管理中不可忽视的一环。这一过程涉及到对我们系统安全的理解与把控。端口是计算机与外界沟通的桥梁,更是我们网络环境中的“守门员”。做好端口监控不仅能保障服务的顺畅进行,更能有效预防潜在的安全风险。 在日常网络管理中,端口的状态直接影响了系统服务的可用性。当一个服务...

    服务器租赁指南:如何选择适合的云服务和价格

    对于很多企业和个人用户来说,服务器租赁是一个非常实用的选择。简单来说,服务器租赁就是用户向服务器提供商支付费用,然后获得在一定时间内使用服务器的权利。这样一来,用户就无需花费时间和金钱去购买和维护物理服务器,可以迅速开始在线业务。 当我第一次接触服务器租赁时,发现这一服务的便利性令我十分惊讶。传统的...

    Oracle 免费VPS:轻松入门云计算的最佳选择

    在了解Oracle免费VPS之前,先来看看Oracle Cloud。这是甲骨文公司推出的一项云服务,提供了一系列强大的计算和存储资源。Oracle Cloud的最吸引人的部分是它的免费服务,给用户提供了机会,可以在没有经济负担的情况下体验云计算的强大功能。对于开发者、创业者或只是想进行一些小项目的用...

    CloudCone价格分析:如何利用促销活动节省费用

    在考虑使用CloudCone的产品时,价格是一个重要的考虑因素。CloudCone于2017年成立,专注于提供多样化的VPS主机和云服务器服务,主要在美国洛杉矶的MultaCom机房运营。以KVM架构为基础,CloudCone的VPS主机在性能和灵活性上都展现出色。其自研管理面板的设计,简化了用户的...

    VPS去程测试:提升网络性能的关键策略与工具

    在当今数字化时代,VPS(虚拟专用服务器)为各类用户提供了极大的灵活性和控制力。为了确保这种服务能够表现出色,VPS去程测试成为了一个重要的话题。简单来说,去程测试是指从我本地设备到VPS服务器的数据传输路径的检查。这种测试能够帮助我了解数据包在传输过程中的表现,包括延迟和可能的瓶颈。 去程测试的重...

    香港CDN服务:提升网站访问速度和用户体验的最佳选择

    在互联网时代,用户愈发关注访问速度和网站体验,这时CDN(内容分发网络)的作用就显得尤为重要。简单来说,CDN是通过在全球各地设置节点,帮助将内容快速传递给用户,从而减少延迟,提高访问速度。我曾经亲身体验过CDN带来的便利,当我访问一些需要加载大量图片和视频的网站时,CDN能确保这些内容更快呈现,给...