安装完php5.6的镜像 发现链接不到mysql 报错缺少驱动
解决方法:
#进入启动的php:5.6-fpm 23f25c24d6e8 为容器id
docker exec -it 23f25c24d6e8 bash
#进入目录bin
cd /usr/local/bin
#安装扩展pdo_mysql
./docker-php-ext-install pdo_mysql
#安装扩展mysql
./docker-php-ext-install mysql
#安装扩展mysqli
./docker-php-ext-install mysqli
Docker容器运行的时候有host、bridge、none三种网络可供配置。默认是bridge,即桥接网络,以桥接模式连接到宿主机;host是宿主网络,即与宿主机共用网络;none则表示无网络,容器将无法联网。 当容器使用host网络时,容器与宿主共用网络,这样就能在容器中访问宿主机网络,那么容器的localhost就是宿主机的localhost。
1 2 3 4 |
docker run -d --name nginx --network host nginx # 另一种写法 docker run -d --name nginx --net=host nginx |
from:https://blog.csdn.net/xiaoyou625/article/details/111876039
View Detailsdocker logs -f -t --since="2017-05-31" --tail=10 edu_web_1 --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。 -f : 查看实时日志 -t : 查看日志产生的日期 -tail=10 : 查看最后的10条日志。 edu_web_1 : 容器名称 from:https://www.cnblogs.com/qufanblog/p/6927411.html
View DetailsDocker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。
Docker容器做端口映射报错 docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name. 解决方法 docker服务启动时定义的自定义链DOCKER被清除 重启即可
1 |
systemctl restart docker |
———————————————— 版权声明:本文为CSDN博主「米粥粥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41545647/article/details/102679560
View Details前言 本文将带领读者一起, 参照着Kubernetes官方文档, 对其安装部署进行讲解. Kubernetes更新迭代很快, 书上、网上等教程可能并不能适用于新版本, 但官方文档能. 阅读这篇文章你能收获到: 如何阅读Kubernetes官方安装指南并搭建一个Kubernetes环境. Kubernetes安装过程中的注意事项. 避过常见的坑. 阅读本文你需要: 熟悉Linux命令. 知道Kubernetes是用来干什么的 (不然装它干啥(ಥ_ಥ)). 知道Docker 器材准备 文档链接: Before you begin 序号 名称 数量 备注 1 服务器 2 操作系统: Linux(centos7, 其它操作系统也可, 安装过程类似, 可参考官方文档) 机器配置: CPU >= 2, 内存 >= 2G 从官网找到kubeadm安装文档入口, 文档很详细. 英文阅读没有障碍的读者推荐直接查看英文文档, 中文文档不全且更新不及时安装时可能存在问题. 前期准备 笔者已经预先安装好了两台虚拟机, centos7(CPUx2, 内存2.5G). 并在路由器上固定了这两个虚拟机的IP地址. 修改hostname
1 2 3 |
[root@k8s-master ~]$ vim /etc/hostname # 修改hostname [root@k8s-master ~]$ vim /etc/hosts # 将本机IP指向hostname [root@k8s-master ~]$ reboot -h # 重启(可以做完全部前期准备后再重启) |
修改后, 两台虚拟机的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# in k8s-master [root@k8s-master ~]$ cat /etc/hostname k8s-master [root@k8s-master ~]$ cat /etc/hosts | grep k8s 10.33.30.92 k8s-master 10.33.30.91 k8s-worker # in k8s-worker [root@k8s-worker ~]$ cat /etc/hostname k8s-worker [root@k8s-worker ~]$ cat /etc/hosts | grep k8s 10.33.30.92 k8s-master 10.33.30.91 k8s-worker |
确认MAC和product_uuid的唯一性 文档链接: Verify the MAC address and product_uuid are unique for every node
1 2 |
[root@k8s-master ~]$ ifconfig -a # 查看MAC [root@k8s-master ~]$ cat /sys/class/dmi/id/product_uuid # 查看product_uuid |
注: 如果你的centos7没有ifconfig命令, 可以执行yum install net-tools进行安装. 配置防火墙 文档链接: Check required ports 由于是本地内网测试环境, 笔者图方便, 直接关闭了防火墙. 若安全要求较高, 可以参考官方文档放行必要端口.
1 2 |
[root@k8s-master ~]$ systemctl stop firewalld # 关闭服务 [root@k8s-master ~]$ systemctl disable firewalld # 禁用服务 |
[…]
View Details一. k8s介绍 1. 是什么 kubernetes:古希腊“舵手”的意思(指引鲸鱼-docker) Production-Grade Container Orchestration:生产级别的容器编排系统 is an open-source system for automating deployment, scaling, and management of containerized applications:用于自动部署,扩展和管理容器化应用程序的开源系统 2. 发展历程 google内部使用十年之久的大规模机器管理系统-Borg,k8s是其他开源版本。 2014年6月 谷歌在旧金山的发布会为这款新的开源工具揭牌 2015年4月:google发布论文,高调宣传k8s 2015年7月:发布1.0版本 2015-2016:1.0-1.5,主要发布了五个版本 2017年: 相继推出 1.6、1.7、1.8、1.9,围绕稳定性、性能和平台的 cloud availability 做了改进 2018年3月27日,v1.10 发布。此版本持续增强了 Kubernetes 2018年6月28 日,v1.11 发布。此版本增强了网络功能、可扩展性与灵活性。Kubernetes 1.11 功能的更新为任何基础架构、云或内部部署都能嵌入到 Kubernetes 系统中增添了更多可能性的成熟性、可扩展性以及可插拔性,并在存储、安全、网络增强了其稳定性 2018年9月28日,v1.12 发布。此版本新增了两个备受期待的功能,Kubelet TLS Bootstrap 和对 Azure 虚拟机规模集支持(并已达到 GA 阶段)。同时该版本在安全性和 Azure 等关键功能上作出了改进; 2018年12月4日,v1.13发布。此版本的三个主要特性已逐渐过渡到 GA。此版本中的显着特征包括:使用 kubeadm 简化集群管理、Container Storage Interface(CSI)、以 CoreDNS 作为默认 DNS 大约每100天更新一次,如今已是 V 1.15.0版本(2019.7.17) 3. 特点 一切以服务为中心 自动化:自我扩展、自我诊断 底层不仅仅依赖docker,还支持Rocket 不局限于语言,对现有代码、框架没有任何侵入 4. 功能 基于容器的、一站式的分布式平台和分布式解决方案 主要功能是生产环境的容器编排,包括: 滚动升级 在线扩缩容 资源自动调度 资源配额管理 服务注册、服务发现 负载均衡 故障发现和自我修复 5. 为什么要用k8s 容器逐渐替代宿主机,k8s是业界广泛认可和看好的容器分布式解决方案 […]
View Details摘要
想要把一个复杂的微服务项目部署到K8S上去,首先我们得学会把单个SpringBoot应用部署上去。今天我们来讲下如何把SpringBoot应用部署到K8S上去,和使用Docker Compose部署非常类似,希望对大家有所帮助!
学前准备
学习本文需要有一些K8S基础,对K8S还不了解的朋友可以参考如下的文章。
《K8S太火了!花10分钟玩转它不香么?》
《自从上了K8S,项目更新都不带停机的!》
报错: [root@localhost /]# docker run -it ubuntu /bin/bash WARNING: IPv4 forwarding is disabled. Networking will not work. 解决方式: 第一步:在宿主机上执行echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf 第二步:重启network和docker服务 [root@localhost /]# systemctl restart network && systemctl restart docker 第三步:验证是否成功 可见完美解决问题。 from:https://www.cnblogs.com/python-wen/p/11224828.html
View Detailsdocker部署springboot(默认已经安装好docker) 第一步:构建镜像 创建Dockerfile文件,文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 |
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD index-1.5.10.RELEASE.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] |
其中 index-1.5.10.RELEASE.jar是你要发布的jar包。 然后把Dockerfile和index-1.5.10.RELEASE.jar建个文件夹,放到服务器上面。 cd进入你的文件夹,运行以下命令向docker中添加镜像:
1 |
docker build -t jingxiangming . |
执行命令后,你的docker中就添加了名为jingxiangming的镜像。 查看镜像命令:
1 |
docker images //运行命令后,你就可以看到刚刚添加的镜像了 |
第二步:启动容器
1 |
docker run -d -p 8080:8080 jingxiangming |
关于上面的命令,我认为有必要具体讲解一下: -d: 后台运行容器,并返回容器ID; -p: 端口映射,格式为:主机(宿主)端口:容器端口;//意思是第一个访问服务器的端口,第二个8080是服务器本地占用访问的端口 jingxiangming:docker里面的镜像名称 当然除了上面基本的参数外,还有额外的参数,这个就需要大家自己去查阅资料了,我这里只列举比较重要的。 启动成功后,会返回一个容器id,然后就可以测试访问了! 日志查看 查看运行的容器日志:
1 |
sudo docker logs -f -t --tail 行数 容器名 |
1 2 |
//查看容器名 docker ps |
from:https://blog.csdn.net/qq_29611427/article/details/81534037
View Details