这里的NGINX PHP镜像需要自己构建,mysql 5.7使用官方镜像即可
前端项目镜像构建与部署:Nginx
[root@localhost _data]# cd /nginx/
[root@localhost _data]# cd /nginx/
[root@localhost nginx]# ls
Dockerfile nginx-1.15.5.tar.gz nginx.conf php.conf
#这里nginx.conf需要COPY拷贝到...
/
483 次浏览/
容器虚拟化
Harbor 部署HTTPS
生成SSL证书
配置https必须要有ssl证书,ssl证书可以是受信任的第三方CA签发的,大部分是花钱要买的,要域名证书公司帮你签发。这些都是受信任的,大概一个域名3000左右。
当然你也可以使用自签证书,比如使用openssl生成证书,或者使用cfssl工具去生成证书。
我这里使用自签证书,创建生成证书的目录ssl,并且下载配置cfssl工具
[root@reg harbor]# mkdir /ssl
[root@reg har...
/
533 次浏览/
容器虚拟化
我们知道, Docker 是使用 Linux 的 Namespace 技术实现各种资源隔离的。那么究竟什么是 Namespace,各种 Namespace 都有什么作用,为什么 Docker 需要 Namespace呢?
首先我们来了解一下什么是 Namespace。
什么是 Namespace?
下面是 Namespace 的维基百科定义:
Namespace 是 Linux 内核的一项功能,该功能对内核资源进行分区,以使一组进程看到一组资源,而另一组...
/
513 次浏览/
容器虚拟化
CNM&libnetwork
libnetwork是Docker团队将Docker的网络功能从Docker的核心代码中分离出来形成的一个单独的库,libnetwork通过插件的形式为Docker提供网络功能。基于代码层面再升华一下,可以将docker的网络抽象出一个模型来,就叫CNM(Container Networking Model),该模型包含三大块:
Sandbox:容器的网络栈,包含interface,路由表,DNS设置...
/
547 次浏览/
容器虚拟化
YAML 基础
它的基本语法规则如下:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# 表示注释,从这个字符一直到行尾,都会被解析器忽略
在kubernetes 中,只需要两种结构类型:
Lists
Maps
Maps
Map 是字典,就是一个key:value的键值对
apiVersion: v1
kind: Po...
/
523 次浏览/
容器虚拟化
上篇博客介绍了容器如何访问网络,今天讨论另一个方向:外部网络如何访问到容器? 答案是:端口映射。
docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器。容器启动时通过-p参数映射端口:
[root@www ~]# docker run -itd -p 80 nginx
9818886ac111489d4a4364047be2fccaedd0d94650056504c0238d84a00158c2
[root@www ~]# d...
/
555 次浏览/
容器虚拟化
讨论容器如何与外部世界通信。这里涉及两个方向:
容器访问外部世界
外部世界访问容器
容器访问外部世界
在我们当前的实验环境下,docker host 是可以访问外网的。
[root@localhost ~]# ping -c 2 www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (18...
/
481 次浏览/
容器虚拟化
如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block Store 的例子:
要在 Pod 中使用 ESB volume,必须先在 AWS 中创建,然后通过 volume-id 引用。其他云硬盘的使用方法可参考各公有云厂商的官方文档。
Kubernetes Volume 也可以使用主流的分布式存,比如 Ceph、GlusterFS 等,下面是 Ceph 的例子:...
/
483 次浏览/
容器虚拟化
kubernetes存储管理按照发展的历程,涉及到有Volume,PV(Persistent Volume)和PVC(PersistentVolumeClaims),和StorageClass,Volume是最早提出的存储卷,主要解决容器和数据存储的依赖关系,抽象底层驱动以支持不同的存储类型;使用Volume需要了解底层存储细节,因此提出了PV,Persistent Volume是由k8s管理员定义的存储单元,应用端使用PersistentVolumeClaims声明去调...
/
446 次浏览/
容器虚拟化
利用kubernetes的滚动更新时,可能经常遇到发布“太快不稳定”或“太慢体验差”的情况。本文将介绍kubernetes滚动更新控制速率的特性。
金丝雀发布
金丝雀发布这个术语源自20世纪初期,当时英国的煤矿工人在下井采矿之前,会把笼养的金丝雀携带到矿井中,如果矿井中一氧化碳等有毒气体的浓度过高,在影响矿工之前,金丝雀相比人类表现的更加敏感快速,金丝雀中毒之后,煤矿工人就知道该立刻撤离。金丝雀发布是在将整个软件的新版本发布给所有用户之前,先发布给部分用户,用...
/
633 次浏览/
容器虚拟化