您的位置:首页 > 房产 > 建筑 > 海南网站搭建_建网站网络公司_什么是核心关键词_程序员培训机构排名

海南网站搭建_建网站网络公司_什么是核心关键词_程序员培训机构排名

2024/10/7 0:12:37 来源:https://blog.csdn.net/m0_75135871/article/details/142174407  浏览:    关键词:海南网站搭建_建网站网络公司_什么是核心关键词_程序员培训机构排名
海南网站搭建_建网站网络公司_什么是核心关键词_程序员培训机构排名

Docker的网络模式

网络模式

参数

说明

host模式

--net=host

容器和宿主机共享 Network namespace

container模式

--net={id}

容器和另外一个容器共享 Network namespace。 kubernetes 中的pod就是多个容器共享一个 Network namespace

none模式

--net=none

容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配 veth pair 和网桥连接,配置IP等

bridge模式

--net=bridge

默认为该模式,通过 -p 指定端口映射

查看当前网络

docker network ls

 创建网络

docker network create -d bridge my-net#my-net 为名字 
# bridge  为类型

使用bridge进行网络之间的通信

        1.创建一个容器

docker run -itd --rm --name busybox1 --network my-net busybox sh -c 'while true;do echo hello;done'

        2.在启动一个容器,加到同一个网络里

docker run -itd --rm --name busybox2 --network my-net busybox sh -c 'while true;do echo hello;done'
docker run -it --rm --name busybox2 --network my-net busybox sh

                可以通信

host模式       

3.启动一个docker容器与宿主机通信

docker run -tid --net=host --name docker_host1 busyboxdocker exec -it docker_host1 sh

        在使用ifconfig命令查看网卡,即可看到宿主机的网卡配置

Container模式

        

docker run -tid --name host1 busybox
# 创建host2容器共享host1容器的网络
docker run -itd --net=container:host1 --name host2 busybox# 查看host2容器的网络,确认和host1容器的网络一致

None模式

docker run -itd --net=none --name none01 busybox sh
docker exec -it none01 sh#在使用ifconfig命令,查看不到网卡信息

 

 Docker重启策略

        Docker容器的重启策略如下:

                no,默认策略,在容器退出时不重启容器

                on-failure,在容器非正常退出时(退出状态非0),才会重启容器

                on-failure:3,指定启动的次数,在容器非正常退出时重启容器,最多重启3次

                always,在容器退出时总是重启容器

                unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

        Docker容器的常见退出状态码

状态码

说明

0

正常退出

125

Docker守护进程本身错误

126

容器启动后,要执行的默认命令无法调用

127

容器启动后,要执行的默认命令不存在

其他

容器启动后正常执行的命令返回的状态码

Docker Compose工具

        1.Docker Compose

        1.安装

                上传文件(docker-compose,lnmp_fenli.tar.gz)

chmod +x docker-compose
mv docker-compose /usr/bin/
docker-compose -v
tar zxf lnmp_fenli.tar.gz
cd lnmp

                启动docker Compose

                        修改nginx的yum源

cd nginx/
vi Dockerfile
# 基础镜像
FROM centos:7.6.1810# 配置nginx的yum源
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repoRUN yum -y install nginx
# 初始化RPM数据库并安装nginx
ADD nginx.conf /etc/nginx/CMD ["nginx","-g","daemon off;"]

                        修改php的yum源

cd ../
cd php/
vi Doecker
FROM centos:7.6.1810
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum -y install php php-fpm php-mysql && \
rm -rf /etc/php-fpm.d/www.conf && \
mkdir /dataADD www.conf /etc/php-fpm.d/
ADD index.php /data/EXPOSE 9000CMD ["/usr/sbin/php-fpm"]

                        启动

cd ../#前台启动
#docker-compose up
#后台启动
docker-compose up -d

        常规使用方式

#重新构建运行
docker-compose up --build -d
#关闭指定容器 docker-compose stop <容器名称>
docker-compose stop nginx
#关闭所有
docker-compose stop#启动指定容器 docker-compose start <容器名称>
docker-compose start nginx
# 全部启动
docker-compose start#重启启动指定容器 docker-compose restart <容器名称>
docker-compose restart nginx#全部重启 
docker-compose restart
#删除所有
docker-compose down

Harbor私有仓库

        Harbor

                Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。它以 Docker 公司开源的 Registry 为基础,提供了管理 UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能。通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器, Harbor提供了更好的性能和安全,以提升用户使用 Registry 构建和运行环境传输镜像的效率

        优势    

                基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不 同的权限。

                基于镜像的复制策略: 镜像可以在多个 Harbor 实例之间进行复制(同步),适用于负载平衡、高可用性、多数据中心、混合和多云场景。

                支持 LDAP/AD:Harbor 与现有的企业 LDAP/AD 集成,用于用户认证和管理。

                删除图像和收集垃圾:镜像可以被删除,也可以回收镜像占用的空间。

                图形 UI:用户可以轻松浏览、搜索镜像仓库以及对项目进行管理。

                审计:对存储库的所有操作都进行记录。

                RESTful API:用于大多数管理操作的 RESTful API,易于与外部系统集成。

        构成

                poxy:Harbor 的 Registry、UI、Token 等服务通过一个前置的反向代理统一接收浏览器和 Docker 客户端的请求,并将请求转发给后端不同的服务
                Registry:负责储存 Docker 镜像,并处理 Docker push/pull 命令。由于要对用户进行访问控制,即 不同用户对 Docker image 有不同的读写权限,Registry 会指向一个 Token 服务,强制用户的 每次 Docker pull/push 请求都要携带一个合法的 Token,Registry 会通过公钥对 Token 进行解 密验证。
                Core service:

                        这是 Harbor 的核心功能,主要提供以下服务:

                            UI(Harbor-ui):提供图形化界面,帮助用户管理 Registry 上的镜像(image), 并对 用户进行授权。

                                  Webhook: 为 了 及 时 获 取 Registry 上 image 状 态 变 化 的 情 况 , 在 Registry 上 配 置 Webhook, 把状态变化传递给 UI 模块。

                                    Token 服务:负责根据用户权限给每个 Docker push/pull 命令签发 Token。Docker 客 户端向 Registry 服务发起的请求,如果不包含 Token,会被重定向,获得 Token 后再 重新向 Registry 进行请求

                database:为 coreservices 提供数据库服务,负责储存用户权限、审计日志、Docker image 分组信 息等数据
                Log collector:为了帮助监控 Harbor 运行,负责收集其他组件的log,供日后进行分析

部署Harbor私有仓库

操作系统

主机名

配置

IP

CentOS7.3.1611

harbor

2C4G

192.168.27.152

CentOS7.3.1611

client

2C4G

192.168.27.153

        1.基础环境 

                关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

​​​​​​​​​​​​​​        ​​​​​​​        关闭selinux

setenforce 0

sed -i "s/.*SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

        2.部署安装

                1.上传

                

                3.编译配置文件

cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vi harbor.yml

                 4.执行安装

./prepare
./install.sh

                5.在开启一台终端安装docker充当客户端

#上传包docker-ce-24.0.7.rpm.tar.gz
tar zxf docker-ce-24.0.7.rpm.tar.gz
cd docker-ce-24.0.7.rpm
yum -y localinstall *

                6.在浏览器搜索配置harbor机器的IP,进行使用

                        1.创建项目

                                在第二台机器

systemctl start docker
#下载个镜像,进行配送
docker pull busybox#编写个文件
vi /etc/docker/daemon.json#编写配置
{"registry-mirrors": ["https://r9xxm8z8.mirror.aliyuncs.com"],"insecure-registries":["192.168.27.152"]
}

                         启用配置

systemctl daemon-reload
systemctl restart docker

                         测试连接镜像仓库

docker login -uadmin -pHarbor12345 http://192.168.27.152

                        上传镜像 

docker tag busybox:latest 192.168.27.152/kgc/busybox:test01docker push 192.168.27.152/kgc/busybox:test01

                        在浏览器刷新

                                下载镜像

                         点击即可自动获取下载的镜像的命令

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com