首页 文章 精选 留言 我的

精选列表

搜索[集成测试],共10018篇文章
优秀的个人博客,低调大师

Docker与OpenStack集成实战

1、计算节点安装Docker root@compute2: ~# apt install docker.io -y 或 root@compute2:~# sh -c "echo deb https://get.docker.io/ubuntu docker main >> /etc/apt/sources.list.d/docker.list" root@compute2:~# apt-get update root@compute2:~# apt-get install lxc-docker root@compute2: ~# apt install docker.io -y 查看当前版本 root@compute2:/var/lib/docker# docker --version Docker version 1.12.0, build 8eab29e root@compute2:~# docker -v Docker version 1.12.0, build 8eab29e root@compute2:~# dpkg -l | grep docker rc docker.io 1.11.2-0ubuntu5~16.04 amd64 Linux container runtime ii lxc-docker 1.9.1 amd64 Linux container runtime ii lxc-docker-1.9.1 1.9.1 amd64 Linux container runtime 查找镜像 root@compute2:~# docker search ubuntu dorapro/ubuntu ubuntu image 0 [OK] konstruktoid/ubuntu Ubuntu base image 0 [OK] uvatbc/ubuntu Ubuntu images with unprivileged user 0 [OK] 2、下载Ubuntu镜像 root@compute2: ~# docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 2f0243478e1f: Pull complete d8909ae88469: Pull complete 820f09abed29: Pull complete 01193a8f3d88: Pull complete Digest: sha256:8e2324f2288c26e1393b63e680ee7844202391414dbd48497e9a4fd997cd3cbf Status: Downloaded newer image for ubuntu:latest root@compute2:~# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest bd3d4369aebc 12 days ago 126.6 MB ubuntu-1604-sleepy_kilby latest 94c88d9d0023 3 weeks ago 126.4 MB ubuntu <none> f8d79ba03c00 3 weeks ago 126.4 MB cmer81/centos7-openstack latest 3317e0f4e0fb 7 months ago 322.2 MB 3、启动并登录Docker容器 root@compute2:~# docker run -i -t ubuntu root@c0a0294d98d2:/# cat /etc/issue Ubuntu 16.04.1 LTS \n \l 给容器设置root密码 [root@dfbc7c3db16b /]# passwd root Changing password for user root. New password: Retype new password: passwd: all authentication tokens updated successfully. 设置允许root密码登录 [root@dfbc7c3db16b /]# vi /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes SSH到容器中 root@compute2:~# ssh 172.17.0.3 root@172.17.0.3's password: [root@dfbc7c3db16b ~]# [root@dfbc7c3db16b ~]# [root@dfbc7c3db16b ~]# [root@dfbc7c3db16b ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.3 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:acff:fe11:3 prefixlen 64 scopeid 0x20<link> ether 02:42:ac:11:00:03 txqueuelen 0 (Ethernet) RX packets 434 bytes 52434 (51.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 419 bytes 42782 (41.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@dfbc7c3db16b ~]# 退出Docker容器 root@76da79f898c3:/# exit exit 4、在另一个docker主机查看目前运行的docker进程的ID root@compute2:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8ffa3d75d46 ubuntu "/bin/bash" 51 seconds ago Exited (127) 42 seconds ago sleepy_kilby aee77e7dec7b ubuntu "/bin/bash" 2 minutes ago Exited (0) 53 seconds ago compassionate_hodgkin c0a0294d98d2 ubuntu "/bin/bash" 47 minutes ago Exited (127) 38 minutes ago ecstatic_ritchie 5、将镜像保存为 root@compute2:~# docker commit a8ffa3d75d46 ubuntu-1604-sleepy_kilby sha256:94c88d9d002364ed5b405357f6910fbc6fdddda917a07f99933a65e66e74fe99 6、将此镜像打包成一个文件 root@compute2:~# docker save ubuntu-1604-sleepy_kilby > /root/ubuntu-1604.tar 7、从终端直接启动容器 root@compute2:~# docker run -i -t -p 50001:22 ubuntu-1604-sleepy_kilby /bin/bash nova-docker方案实践 安装novadocker python-pip 有一个BUG,如果已安装python-pip,先删除, root@compute2:~# apt-get remove python-pip root@compute2:~#apt-get autoremove root@compute2:~# easy_install -U pip root@compute2:~# pip install -e git+https://github.com/stackforge/nova-docker#egg=novadocker root@compute2:~# cd src/novadocker/ root@compute2:~/src/novadocker# python setup.py install 配置NOVA root@compute2:~# vim /etc/nova/nova.conf [DEFAULT] compute_driver = novadocker.virt.docker.DockerDriver 创建/etc/nova/rootwrap.d/dockers.filters # nova-rootwrap command filters for setting up network in the docker driver # This file should be owned by (and only-writeable by) the root user [Filters] # nova/virt/docker/driver.py: 'ln', '-sf', '/var/run/netns/.*' ln: CommandFilter, /bin/ln, root 配置Glance root@controller:/etc/glance# vim glance-api.conf [DEFAULT] container_formats = ami,ari,aki,bare,ovf,docker 下载Docker镜像 查找适用于OpenStack的镜像 root@compute2:~# docker search openstack NAME DESCRIPTION STARS OFFICIAL AUTOMATED krystism/openstack-keystone An easy way to try openstack keystone service 7 [OK] continuse/openstack-controller OpenStack Controller Service for CoreOS 5 [OK] centurylink/openstack-cli-wetty This image provides a Wetty terminal with ... 4 [OK] cmer81/centos7-openstack Centos7 image for openstack-cloudinit 2 [OK] continuse/openstack-nova-docker OpenStack Nova-Docker Service for CoreOS 2 [OK] cosmicq/openstack-nova (project not complete) The Nova (compute) ... 1 [OK] cosmicq/openstack-rabbitmq (project not complete) RabbitMQ (AMQP) ser... 1 [OK] ennweb/openstack-controller OpenStack Controller 1 [OK] cosmicq/openstack-keystone (project not complete) The Keystone (authe... 1 [OK] cosmicq/openstack-mariadb (project not complete) MariaDB and PHPMyAd... 1 [OK] continuse/openstack-network OpenStack Network (Neutron) Service for Co... 1 [OK] continuse/openstack-compute OpenStack Compute Service for CoreOS 1 [OK] krystism/openstack-glance An easy way to try openstack glance service 1 [OK] factual/docker-openstack-database OpenStack Database (MariaDB) 1 [OK] pataquets/openstack-dashboard 0 [OK] colstrom/openstack-cli OpenStack CLI 0 [OK] continuse/openstack-cinder OpenStack Block Storage Service for CoreOS 0 [OK] alvaroaleman/openstack-horizon A simple Docker image for the Openstack Ho... 0 [OK] pataquets/openstack-keystone 0 [OK] pierrezemb/exherbo-openstack Exherbo image generator for OpenStack 0 [OK] factual/docker-openstack-messaging OpenStack Messaging service (RabbitMQ) 0 [OK] ennweb/openstack-compute OpenStack Compute on Docker 0 [OK] anguslees/openstack-tox 0 [OK] gbraad/openstack-client Container with the OpenStack client and 's... 0 [OK] jmcvea/openstack-client OpenStack command line tools 0 [OK] root@compute2:~# root@compute2:~# docker pull cmer81/centos7-openstack Using default tag: latest latest: Pulling from cmer81/centos7-openstack a3ed95caeb02: Pull complete 3286cdf780ef: Pull complete 889e0983d8b8: Pull complete 48ed448d00d6: Pull complete 0ebb5fe0f8ad: Pull complete c93dc6f68ef1: Pull complete cf8e344e8663: Pull complete 9827381c9ae3: Pull complete 8f1f6b35ea96: Pull complete Digest: sha256:84b374fe2a8bf40a8716d79e5ea179b2fb28352e8a18fa49ddda2ab295bebe6e Status: Downloaded newer image for cmer81/centos7-openstack:latest root@compute2:~# docker save cmer81/centos7-openstack | glance --os-image-api-version 1 image-create --is-public=True --container-format=docker --disk-format=raw --name cmer81/centos7-openstack +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 114c19e55638a317b837ae73f6c8314c | | container_format | docker | | created_at | 2016-08-17T03:03:22.000000 | | deleted | False | | deleted_at | None | | disk_format | raw | | id | 521f5a87-22cc-4851-a812-dee1b17b5e46 | | is_public | True | | min_disk | 0 | | min_ram | 0 | | name | cmer81/centos7-openstack | | owner | f9027cccf7da4f2399c7fdf32e8776f0 | | protected | False | | size | 334179328 | | status | active | | updated_at | 2016-08-17T03:03:28.000000 | | virtual_size | None | +------------------+--------------------------------------+ 查找ubuntu镜像 root@compute2:~# docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating s... 4468 [OK] ubuntu-upstart Upstart is an event-based replacement for ... 65 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 31 [OK] torusware/speedus-ubuntu Always updated official Ubuntu docker imag... 27 [OK] ubuntu-debootstrap debootstrap --variant=minbase --components... 25 [OK] nickistre/ubuntu-lamp LAMP server on Ubuntu 8 [OK] nuagebec/ubuntu Simple always updated Ubuntu docker images... 7 [OK] nickistre/ubuntu-lamp-wordpress LAMP on Ubuntu with wp-cli installed 6 [OK] nimmis/ubuntu This is a docker images different LTS vers... 5 [OK] jordi/ubuntu Ubuntu Base Image 1 [OK] admiringworm/ubuntu Base ubuntu images based on the official u... 1 [OK] seetheprogress/ubuntu Ubuntu image provided by seetheprogress us... 1 [OK] darksheer/ubuntu Base Ubuntu Image -- Updated hourly 1 [OK] life360/ubuntu Ubuntu is a Debian-based Linux operating s... 0 [OK] datenbetrieb/ubuntu custom flavor of the official ubuntu base ... 0 [OK] konstruktoid/ubuntu Ubuntu base image 0 [OK] lynxtp/ubuntu https://github.com/lynxtp/docker-ubuntu 0 [OK] esycat/ubuntu Ubuntu LTS 0 [OK] widerplan/ubuntu Our basic Ubuntu images. 0 [OK] croscon/ubuntu Crosconized Ubuntu 0 [OK] teamrock/ubuntu TeamRock's Ubuntu image configured with AW... 0 [OK] smartentry/ubuntu ubuntu with smartentry 0 [OK] ustclug/ubuntu ubuntu image for docker with USTC mirror 0 [OK] dorapro/ubuntu ubuntu image 0 [OK] webhippie/ubuntu Docker images for ubuntu 0 [OK] 下载镜像 root@compute2:~# docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu Digest: sha256:8e2324f2288c26e1393b63e680ee7844202391414dbd48497e9a4fd997cd3cbf Status: Image is up to date for ubuntu:latest 把镜像上传到Glance中 root@compute2:~# docker save ubuntu | glance image-create --container-format=docker --disk-format=raw --name ubuntu-docer +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 364a6b81f4a3f5fb5c4a0e1d62395322 | | container_format | docker | | created_at | 2016-08-17T02:46:58Z | | disk_format | raw | | id | e2616723-b55d-48a6-9548-606f0da7dddb | | min_disk | 0 | | min_ram | 0 | | name | ubuntu-docer | | owner | f9027cccf7da4f2399c7fdf32e8776f0 | | protected | False | | size | 132096512 | | status | active | | tags | [] | | updated_at | 2016-08-17T02:46:59Z | | virtual_size | None | | visibility | private | +------------------+--------------------------------------+ 、 root@compute2:~# nova image-list +--------------------------------------+-----------------------------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+-----------------------------------------+--------+--------+ | 96872d33-73a1-4e1d-bc9e-5b4206a258af | CentOS-7-x86_64-GenericCloud | ACTIVE | | | c8d224af-b3ed-42be-a29b-ea7295abf932 | Ubuntu16.04-server-clouding-powerpc64el | ACTIVE | | | e9b86672-f9d2-48f3-b57f-0320fc4a048f | Ubuntu16.04-xenial-server-cloud-amd64 | ACTIVE | | | 521f5a87-22cc-4851-a812-dee1b17b5e46 | cmer81/centos7-openstack | ACTIVE | | | e2616723-b55d-48a6-9548-606f0da7dddb | ubuntu-docer | ACTIVE | | | ba5c1506-4389-42b5-acfb-849855b019b5 | ubuntu-server-clouding-amd64 | ACTIVE | | | b2170c9b-41da-4b55-a4ec-88b8b3fc528e | ubuntu1604-server-cloud-ppc64el | ACTIVE | | | c94a41f5-10b2-43f8-ae5d-1c91886f6f94 | windows2012server-clouding | ACTIVE | | +--------------------------------------+-----------------------------------------+--------+--------+ root@compute2:~# nova boot centos7-openstack --image 521f5a87-22cc-4851-a812-dee1b17b5e46 --nic net-id=a969f82e-b4cc-48cf-a04a-64923dc73b4a --flavor 22 --security-groups default --key key +--------------------------------------+-----------------------------------------------------------------+ | Property | Value | +--------------------------------------+-----------------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-SRV-ATTR:host | - | | OS-EXT-SRV-ATTR:hostname | centos7-openstack | | OS-EXT-SRV-ATTR:hypervisor_hostname | - | | OS-EXT-SRV-ATTR:instance_name | instance-0000070f | | OS-EXT-SRV-ATTR:kernel_id | | | OS-EXT-SRV-ATTR:launch_index | 0 | | OS-EXT-SRV-ATTR:ramdisk_id | | | OS-EXT-SRV-ATTR:reservation_id | r-3euaomoc | | OS-EXT-SRV-ATTR:root_device_name | - | | OS-EXT-SRV-ATTR:user_data | - | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | - | | OS-SRV-USG:terminated_at | - | | accessIPv4 | | | accessIPv6 | | | adminPass | KjbkCzV8VVn2 | | config_drive | | | created | 2016-08-17T03:23:21Z | | description | - | | flavor | zoom.medium (22) | | hostId | | | host_status | | | id | 41dad309-eb1a-4445-b1eb-81b87cd34d97 | | image | cmer81/centos7-openstack (521f5a87-22cc-4851-a812-dee1b17b5e46) | | key_name | key | | locked | False | | metadata | {} | | name | centos7-openstack | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | security_groups | default | | status | BUILD | | tenant_id | f9027cccf7da4f2399c7fdf32e8776f0 | | updated | 2016-08-17T03:23:21Z | | user_id | 957ba591d7824e0ab6e54d5c40e6be85 | +--------------------------------------+-----------------------------------------------------------------+ root@compute2:~# nova list +--------------------------------------+-------------------+--------+------------+-------------+-----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------+--------+------------+-------------+-----------------------------------+ | 41dad309-eb1a-4445-b1eb-81b87cd34d97 | centos7-openstack | ACTIVE | - | Running | private=10.1.1.80, 10.1.1.78 | | 4f6c62b0-3917-4a4c-a017-bc57ff1a7e4d | ubuntu | ACTIVE | - | Running | private=10.1.1.46 本文转自 OpenStack2015 博客,原文链接: http://blog.51cto.com/andyliu/1852267 如需转载请自行联系原作者

优秀的个人博客,低调大师

Mesos和Docker的集成

因为Docker本身想管理整个容器,从chroot、命名空间到整个命名空间的cgroup,它会和默认的Mesos容器发生冲突。因此,Mesos添加了容器机的支持,一种可插拔的机制,让Mesos的容器机子系统可扩展:最初Mesos的基于 LXC/cgroup的容器被引入到容器机API里,Docker是添加的第一个新的容器机,现在也有了全面的文档协议,介绍如何添加新的容器机,比如KVM虚拟机。 使用Docker 为了使用Docker容器机技术,必须将其包含进Mesos slave的命令行里。比如,mesos-slave --containerizers=docker,mesos...允许在该台slave上使用Docker和Mesos容器。 可能还想增加执行器的注册超时时间,这样Mesos不会在容器还在下载的时候就认为容器发生了故障。一开始可以设成五分钟,确保有足够的时间下载Docker镜像。所以,slave命令行类似: mesos-slave --containerizers=docker,mesos \ --executor_registration_timeout=5mins ... 使用带有应用程序的Docker非常简单——一旦启用了对Docker的支持,只需要设置TaskInfo或者ExecutorInfor里的container字段(类型为ContainerInfo)。 令人困惑的是,消息CommandInfo.ContainerInfo并不是正确的消息——需要在带有Docker相关字段的mesos.proto里设置最高级别的ContainerInfo。 要想使用Docker,需要将ContainerInfo里的type设置为DOCKER,并且将docker字段设置到ContainerInfo.Docker消息的一个实例里,该消息的image属性设置为Docker镜像的名称(比如myusername/webapp)。这里可以配置很多Docker参数,比如是使用HOST还是BRIDGE网络,映射使用哪些端口或者额外的Docker命令行参数。如果想让Docker容器使用Dockerfile里指定的docker run ...,还必须将TaskInfo的CommandInfo设置成shell=false。如果设置成shell=true,就需要禁用Dockerfile里的run,指定的command会由sh -c “”来运行。 当启动Docker容器机任务时,slave会首先获取(并且解包)沙箱里所有指定的URI,并且将Docker镜像拉取到本地。然后,slave通过运行docker启动Docker镜像。docker命令的HOME环境变量指向该沙箱,因此可以通过获取到的URI来配置Docker(详见下面的注意事项)。在Docker镜像里可以使用该沙箱,其路径保存在MESOS_SANDBOX环境变量里。最后,Docker的stdout和stderr会被重定向到Mesos沙箱里名为stdout和stderr的文件上。 高级Docker配置必须记住的一点是,Docker容器机总是会尝试从registry里拉取Docker镜像。这意味着无法使用仅在本地安装了的Docker镜像——必须在某个地方部署该镜像。如果想要使用私有registry,可以提供一个.dockercfg文件。该文件由一个URI指定,这样Mesos slave就能够使用其自动获取URL的功能将.dockercfg文件拷贝到Docker进程所使用的HOME目录下。 相同的API也适用于基于Docker的执行器,唯一不同之处在于,执行器代码实际上可以在Docker容器内运行。要实现这一目的,需要完成上文所述的所有事情,但是是在ExecutorInfo消息里,而不是TaskInfo消息里。本文选自《用Mesos框架构建分布式应用》,点此链接可在博文视点官网查看此书。 想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。

优秀的个人博客,低调大师

gitlab+jenkins+maven+docker持续集成(七)——.Jenkins Pipeline持续集成

Pipeline的几个基本概念: Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。 Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。 Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供 新建pipeline项目 进入配置 这里要参考下pipeline的具体语法,如下图,输入相关git信息点击生成会自动成生相关语句 整个示例语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 node{ stage( 'getclone' ){ //check CODE gitcredentialsId: 'f3eb1fea-42b0-46b2-8342-a2be6a65fe73' ,url: 'http://xx.xx.xx/xx/qd_api.git' } stage( 'mvntest' ){ withMaven( maven: 'M3' ){ sh "mvntest" } } stage( 'mvnbuild' ){ //mvn 构建 withMaven( maven: 'M3' , mavenLocalRepo: '.repository' ){ sh "mvncleaninstall-Dmaven.test.skip=true" } } stage( 'deploy' ){ // 执行部署脚本 echo "deploy......" } } 需要注意的是这里的M3环境变量,在Global Tool Configuration 我们进行配置 确保以下配置后,我们进行构建 本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1958904

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册