1Docker 技术可谓是近年最火热的技术之一,铺天盖地的技术论坛和各种讲座,大家都在分享关于如何容器化及如何使用Docker优化自己运维和开发流程的经验。随着Docker技术的逐渐普及,使用Docker已经不再是一个难题。现在更加重要的是生产环境容器化的最佳实践,另外就是容器的编排框架之争。但是,对于技术人员来说,除去Docker 外表的繁华外,什么是容器,容器到底是怎么创建的,容器底层的技术探秘也是非常重要的。2014年开始接触 Docker的时候,经历了从最初的新奇—感叹竟然还有Docker 这样的好工具,到逐渐熟悉Docker的各种功能,尝试在生产环境中使用Docker技术的过程。但是,每每被人问到:“Docker技术到底是怎么实现的呢”我只能粗粗浅浅地说:“Docker是使用Linux Kernel的Namespace 和 Cgroups实现的一种容器技术。”那么,什么是Namespace,什么是Cgroups,Docker是怎么使用它们的,容器到底是怎么一步步被创建出来的.问到这些,我就会支支吾吾地不知所以。由此可见,了解容器技术的底层技术,然后明白它们是如何工作的,尤为重要,这些才是整个容器技术的基石,掌握了这些基石才能更加容易地向上攀登。
成都创新互联于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元昌平做网站,已为上家服务,为昌平各地企业和个人服务,联系电话:13518219792
2从docker的用途上来考虑,看docker能否解决你工作中遇到的问题。例如在实际开发过程中,经常遇到的持续集成问题,软件开发,测试,部署,如何做成自动化的。配合github Jenkins和docker实现自动化部署,系统持续集成。docker最重要的是编排,如何合理有效稳定的管理各个容器,调度容器。可以看看k8s,自己动手搭建跑跑看。docker本身并没有引入新的技术,都是在linux原有的基础上做的融合。可以关注docker源码分析。UCloud也支持Docker,推出了UDocker产品。UCloud - 专业云计算服务商。
在腾讯云部署gitlab服务器,前置负载均衡配置https。
上传的时候报错
配置腾讯云负载均衡个性化配置如下:
ubuntu16.4 gitlab从 12.10.0-ee 一步步升级到14.0.0后无法启动,报错如下
/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)
/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)
降版本也无法降.
换成阿里镜像源更新成功ruby后,gitlab能正常启动.
sudo /etc/apt/sources.list
删除里面的内容,更换源
deb xenial main
deb-src xenial main
deb xenial-updates main
deb-src xenial-updates main
deb xenial universe
deb-src xenial universe
deb xenial-updates universe
deb-src xenial-updates universe
deb xenial-security main
deb-src xenial-security main
deb xenial-security universe
deb-src xenial-security universe
更新缓存
apt-get clean all
apt-get update
但是gitlib过段时间就不能用,服务器也进不去,腾讯云也不能检测服务器信息
我把gitlab版本降到13.12.15-ee
然后我又把源换回腾讯的
sudo /etc/apt/sources.list
Ubuntu 14.04
deb trusty main restricted universe multiverse
deb trusty-updates main restricted universe multiverse
deb trusty-security main restricted universe multiverse
#deb trusty-backports main restricted universe multiverse
#deb trusty-proposed main restricted universe multiverse
deb-src trusty main restricted universe multiverse
deb-src trusty-updates main restricted universe multiverse
deb-src trusty-security main restricted universe multiverse
#deb-src trusty-backports main restricted universe multiverse
#deb-src trusty-proposed main restricted universe multiverse
Ubuntu 16.04
deb xenial main restricted universe multiverse
deb xenial-security main restricted universe multiverse
deb xenial-updates main restricted universe multiverse
#deb xenial-proposed main restricted universe multiverse
#deb xenial-backports main restricted universe multiverse
deb-src xenial main restricted universe multiverse
deb-src xenial-security main restricted universe multiverse
deb-src xenial-updates main restricted universe multiverse
#deb-src xenial-proposed main restricted universe multiverse
#deb-src xenial-backports main restricted universe multiverse
若您使用腾讯云服务器,请将源的域名从 mirrors.cloud.tencent.com 改为 mirrors.tencentyun.com,使用内网流量不占用公网流量。
更新缓存
apt-get clean all
apt-get update
后台监控正常,服务器稳定了.
把gitlab安装到腾讯云
如果不想设置域名,或者想将来再考虑,可以直接
安装完成以后,运行下面的命令进行配置
查看是否运行正常
为了能让gitlab-runner能正确的执行docker命令,需要把gitlab-runner用户添加到docker group里, 然后重启docker和gitlab ci runner
tags如下图所示:
我们发现pipeline成功了