容器: 10 items found.

docker 容器安全与firewalld

docker 容器暴露的端口不会因 firewalld 防火墙策略阻断!

最近发现一个问题,docker run 了几个容器,暴雷了 8080, 9090 等等几个端口,一直以为 CentOS 有 firewalld 防火墙在,加了这些端口只允许内网访问,就可以高枕无忧了。
结果有次查看 netstat,居然有一些国外的 IP 连接。这才知道原来有防火墙,容器也不安全!

More ~

修改docker镜像

若有个名为nginx的容器:

docker run -it nginx bash

修改内容后退出,使用docker commit命令提交修改。

Usage:  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

Create a new image from a container's changes

Options:
  -a, --author string    Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
  -c, --change list      Apply Dockerfile instruction to the created image
  -m, --message string   Commit message
  -p, --pause            Pause container during commit (default true)

如 :

docker commit -a "John Click" -m "add extra plugins" 2ff7f15ca033 nginx:latest

2ff7f15ca033 为刚才修改的docker容器id。

More ~

k8s 资源清单与pod

k8s中的资源

k8s中所有的内容都抽象成了资源,资源实例化后,称为对象。所有对象可以通过 get delete edit apply进行增删改查。通常分类以下三类资源

  • namespace级别资源:pod、rs、rc、deployment、service、ingress、volume、configmap...
  • 集群级别资源:namespace、node...
  • 元数据型资源:HPA...

namespace为资源提供了集群内的逻辑隔离,需要注意的是,这只是逻辑隔离,不同namespace的pod有可能运行在同一个节点node上

More ~

为什么不建议把数据库部署在docker容器内?

前言

近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?

这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。

目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。

More ~

K8S实战(二)| 发布容器到 K8S 集群中

容器来源

使用 nginx 的官方容器镜像。

发布容器的两种方式

镜像有了,我们如何将其提交给 K8S 运行呢,有两种方式:

  1. 命令行方式(不推荐)。
  2. 配置文件方式(推荐)。

这里使用官方推荐的第二种方式,即通过将容器的各种信息写入配置文件提交给 K8S。

More ~

Docker 容器的健康检查

健康检查 (HEALTHCHECK) 指令简介

健康检查 (HEALTHCHECK) 指令告诉 Docker 如何检查容器是否仍在工作。 它能够监测类似一个服务器虽然服务进程仍在运行, 但是陷入了死循环, 不能响应新的请求的情况。

当一个容器有指定健康检查 (HEALTHCHECK) 时, 它除了普通状态之外, 还有健康状态 (health status) 。 健康状态的初始状态是正在启动 (starting) , 一旦通过了一个健康检查, 它将变成健康 (healthy) (不管之前的状态是什么), 经过一定数量的连续失败之后, 它将变成不健康 (unhealthy) 。

More ~

很诡异的301跳转,记wordpress上线问题

话说本地用docker-compose搭了个wordpress的站点,设置里site url和home都是本地地址http://localhost:8300 ,然后上线的数据库数据是导出后导入进来。

用nginx反向代理wordpress的容器地址,浏览器卡住半天自动跳转到www.xxx.com:8300, 这很诡异啊,一直在怀疑是不是nginx配错了,proxy_redirect是off的。 即使重新安装nigix也无济无事。 curl -i 看看响应头确实301跳转了

Screen Shot 2019-07-22 at 01.15.02.png

More ~

容器化之路 - 网站迁移记录

从事云计算有几个年头了,但是上层容器化的应用还是用的少,以往经验就是买个虚拟机(VM),然后安装wordpress之类的应用,安装相应所需的环境,如php5.x, mysql 5.x, apache2.x, nginx1.x等等, 或者用那种一链安装脚本安装完环境,再把本地开发的网站通过sftp上传到vm, 配好域名就OK了。

这但这个有个问题,单机部署的网站或工具类型多了,比如装个python环境,有python2.7, 有python3等,即使可以用virtualenv,但周边的应用如mongodb、redis一堆,显得这个节点非常臃肿,如果要迁移上面的某个网站就很麻烦了,有了容器可以很好的隔离应用,俗称微服务或者服务治理。

接触docker是在华为工作期间升级minios, 修改裸金属所需的minios中的Dockerfile,变更基础镜像和安装底层所需的lib. 调试时经常会在生成的docker窗器与host之间共享lib,

最近因为频繁面试,大多数公司都要求做PaaS平台,很少公司做IaaS层面的,所以密集自学了Docker,Kubernetes. 深切体会到使用docker或k8s部署的便利。所以就小试牛刀来迁移下自己的网站,之所以迁移,一是因为这个vm年底就到期了,到时如果续费比较贵就想能够很快的迁移。

当前的情况是在腾讯云我有两个VM, 一个在上海,一个在香港。上海的就是搞个网站备案后用的,上面写点研发日志或跑些爬虫之类的。腾讯云的kubernetes可以托管,好处是省了硬件资源的开销和k8s环境的维护,不过还是计时收费的,好在每小时不算贵,一年下来不到200. 当然你如果不差钱也可以搞几台,他们说最低要3台,2核8G的配置。

docker-compose学完docker就紧接着想怎么部署一个网站,按行话叫容器编排,可以用docker swarm,类似于k8s,可以对应用节点扩容,比较方便。但是我就一个vm,差钱,也不整这么复杂,直接用docker-compose来组合web前后台和数据库。
web这边用Dockerfile来编译,用的基础镜像FROM php:7.2-apache,内容参考的wordpress,这个可以在github和dockerhub上找到。重要的地方就是docker-compose里将数据挂载在Host的目录上。当然如果有云硬盘也可以考虑专门放数据,这样迁移就更方便了。

More ~