OpenStack Nova 源码分析
http://blog.51cto.com/zt/366
Docker training course - Discuss docker, chef, puppet, ansible, salt stack Hangout
本文翻译自:http://www.slideshare.net/Flux7Labs/docker-training-course-discuss-docker-chef-puppet-ansible-salt-stack-hangout
注:saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件
Docker并不是Linux Container的替代品
●隔离的第一级
●在一个容器进程中运行不能看到或影响容器外运行的其他进程
●LXC的主要组件
●资源计算和限制是关键的功能。
●重要的多租户平台:保证一致的正常运行时间和性能
LXCs是轻量级的。
运行在同一台主机上的多个实例隔离
共享单个内核,但他们可以消耗的数量资源的一组定义。
不允许实例之间的干扰。
Docker注册地Registry:
是一个Docker的注册表服务器,它帮助托管库和镜像,并交付
Layer层:
当Docker装入根文件系统的堆叠每个文件系统
Image镜像:
是一个只读层永远不会改变
Container容器:
使用一个或多个镜像自足环境构建的。镜像可以依据已提交的container被创建
Repository仓库:
设置本地Docker或注册服务器上的镜像
Dockerfiles允许描述一次构建步骤,然后从源代码自动生成一个容器,它可以被看作是一个镜像的表示
●轻松构建镜像
●自动化和脚本创建镜像
安装Docker(Ubuntu的13.10)加入Docker库当地钥匙:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
添加Docker repo到apt源列表,更新并安装LCX-Docker包
sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker
验证安装
sudo docker run -i -t ubuntu /bin/bash
命令: docker pull ubuntu:12.04
用途:拉Ubuntu的LTS 12.04精确的基影像
选择一个模式来运行Docker容器
1.容器不监听
2. IO是通过网络或共享做的
1.默认模式
2.控制台上连接到进程的标准输入,标准输出,标准错误
1.需要持久的标准输入
Dockerfile在一个容器建立sshd服务
# sshd
#
# VERSION 0.0.1
FROM ubuntu MAINTAINER Thatcher R. Peskens "thatcher@dotcloud.com"
# make sure the package repository is up to date
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update RUN apt-get install -y openssh-server
RUN mkdir /var/run/sshd RUN echo 'root:screencast' |chpasswd
EXPOSE 22
CMD /usr/sbin/sshd -D
自动映射所有暴露的端口到主机:
命令:docker run -P <imageid>
端口绑定到主机接口
命令:docker run -p [([<host_interface>: [host_port]])|(<host_port>):] <container_port>[/udp] <image> <cmd>
创建容器用2个卷
命令:docker run -v /var/volume1 -v /var/volume2 DATA busybox true
Mount数据卷到应用程序容器
命令:docker run -t -i -rm -volumes- from DATA -name client1 ubuntu bash
命令: docker diff CONTAINER
用途:列出在一个容器中的文件系统的变化,文件和目录
应用程序:
VyScale -- python flask + MySQL
flux7.com -- php +MySQL
client1 -- python + Cassandra (multi-tenant)
client2 -- Ruby on Rails + MySQL + Redis
应用程序架构图
Install Vagrant
git pull <code repository>
devenv setup
devenv start
幕后:
1.下载VBOX图像
2.运行VM共享文件夹+暴露的端口+静态IP
3.生成容器
4.以正确的顺序启动容器和暴露正确的端口(DB ??)
5.在/vagrant/log文件夹复制日志卷
6.设置/etc/hosts指向VM
7.打印URL来访问应用程序
编辑代码(在你选择的编辑器,可以使用所有的别名和命令)
//重新启动服务器(可以使用麒麟实现自动化)
devenv的负载
//检查日志在顶部/ logs文件夹
代码提交
devenv commit -t <tag>←进行调试后git push
幕后:
1.提交所有Docker容器
2.保存版本以供将来使用
Jenkins polls the repo for pushes
使用相同的脚本来运行使用容器测试
代码交付
现有的容器被销毁(可以更好)
新的容器建成并开始
Chef recipe更新
devenv rebuild
devenv push
幕后:
1.运行chef recipe创建新的容器
2.提交容器到主注册表
添加/删除 服务/层
改变devenv的脚本
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。