精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Puppet發(fā)布Blueshift項(xiàng)目中專門針對(duì)Docker的特性

責(zé)任編輯:editor006

作者:John Okoro

2016-07-25 16:34:36

摘自:INFOQ

這個(gè)例子使用了一個(gè)Ubuntu鏡像:docker::image { ‘ubuntu : image => trusty ,}  這些簡(jiǎn)單的Docker容器現(xiàn)在可以通過Puppet輕松地應(yīng)用了

于Ubuntu Xenial Puppet代理程序包,另一個(gè)基于簡(jiǎn)化版的Alpine。

Blueshift演示了異構(gòu)軟件管理問題的解決方案,使用Puppet作為新軟件棧的統(tǒng)一管理方式。Blueshift包含Puppet社區(qū)中關(guān)于如何集成Consul、CoreOS和Mesos等技術(shù)的信息。Blueshift還包含Puppet的內(nèi)部工程。

Puppet還提供了如何在Docker中使用Puppet的例子。目前,這些例子展示了如何在VMware Photon OS、Red Hat CentOS Atomic上的Docker容器中和CoreOS上使用Puppet。還有例子展示了如何使用Docker Compose搭建一個(gè)Puppet基礎(chǔ)設(shè)施。

在Blueshift項(xiàng)目的一個(gè)例子中,Gareth Rushgrove演示了如何使用Puppet管理Docker容器。Puppet Docker模塊大約是和Docker同時(shí)發(fā)布的,自此以后,社區(qū)一直致力于這方面的工作。

第一步是安裝Puppet Docker示例模塊:

# puppet module install garethr-docker

簡(jiǎn)單來說,Docker模塊允許你使用清單文件中的一行代碼安裝Docker:

include 'docker'

你可以在清單文件中聲明任意多的鏡像。這個(gè)例子使用了一個(gè)Ubuntu鏡像:

docker::image { ‘ubuntu': image => 'trusty',}

這些簡(jiǎn)單的Docker容器現(xiàn)在可以通過Puppet輕松地應(yīng)用了。Docker version會(huì)顯示Docker已經(jīng)安裝了,并且會(huì)顯示詳細(xì)的版本信息:

# puppet apply /vagrant/docker_example.pp# docker versionClient version: 1.5.0Client API version: 1.17Go version (client): go1.4.1Git commit (client):a8a31efOS/Arch (client): linux/amd64Server version: 1.5.0Server API version: 1.17Go version (server): go1.4.1Git commit (server): a8a31ef#

Docker ps會(huì)顯示當(dāng)前沒有任何東西在運(yùn)行:

# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES#

Docker images會(huì)顯示Docker鏡像已經(jīng)創(chuàng)建:

# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEUbuntu trusty d0955f21bf24 3 weeks ago 188.3 MBUbuntu trusty-20150320 d0955f21bf24 3 weeks ago 188.3 MBUbuntu latest d0955f21bf24 3 weeks ago 188.3 MBUbuntu 14.04 d0955f21bf24 3 weeks ago 188.3 MBUbuntu 14.04.2 d0955f21bf24 3 weeks ago 188.3 MB #

Docker模塊支持運(yùn)行和管理各種Docker容器。容器可以在主機(jī)的init系統(tǒng)(如systemd或sysvinit)下運(yùn)行,也可以使用Docker內(nèi)置的進(jìn)程管理器。下面的代碼增加了兩個(gè)簡(jiǎn)單的Docker run資源:

docker::run { 'helloworld': image => 'ubuntu', command => '/bin/sh -c "while true; do echo hello world; sleep 1; done"',}docker::run { 'goodbyecruelworld': image => 'ubuntu', command => '/bin/sh -c "while true; do echo goodbye cruel world; sleep 1; done"',}

使用puppet apply,我們可以快速將更新應(yīng)用到這兩個(gè)將要在Docker容器中運(yùn)行的服務(wù)上。現(xiàn)在,Docker ps會(huì)顯示,當(dāng)前有兩個(gè)簡(jiǎn)單的服務(wù)正在運(yùn)行:

# Puppet apply /vagrant/docker_example.ppNotice: Compiled catalog for localhost in environment production in 0.93 secondsNotice: /Stage[main]/Main/Docker::Run[helloworld]/File[/etc/init.d/docker-helloworld]/ensure: createdNotice: /Stage[main]/Main/Docker::Run[helloworld]/Service[docker-helloworld]/ensure: ensure changed ‘stopped’to ‘running’Notice: /Stage[main]/Main/Docker::Run[goodbyecruelworld]/File[/etc/init.d/docker-goodbyecruelworld]/ensure: created Notice: /Stage[main]/Main/Docker::Run[goodbyecruelworld]/Service[docker-goodbyecruelworld]/ensure: ensure changed ‘stopped’ to ‘running’Notice: Finished catalog run in 1.11 seconds# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES27b9ca786f9b ubuntu:14.04 “/bin/sh -c ‘while t 18 seconds ago Up 17 seconds jolly_wright4ec0c0225714 ubuntu:14.04 “/bin/sh -c ‘while t 18 seconds ago Up 17 seconds focused_wright#

使用docker attach和容器ID連接到其中一個(gè)服務(wù)上會(huì)顯示正在Docker中執(zhí)行的服務(wù):

# docker attach 27b9ca786f9bgoodbye cruel worldgoodbye cruel worldgoodbye cruel world ^C### docker attach 4ec0c0225714hello worldhello worldhello world ^C##

Docker模塊還支持類似掛載卷、設(shè)置環(huán)境變量、運(yùn)行特權(quán)容器和暴露端口這樣的動(dòng)作。Puppet還可以使用docker exec特性在運(yùn)行中的容器環(huán)境中執(zhí)行命令:

docker::exec { 'helloworld-uptime': detach => true, container => 'helloworld', command => 'uptime', tty => true,}

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2025 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 儋州市| 嘉禾县| 宣汉县| 绍兴县| 五华县| 汝阳县| 彰化市| 鹰潭市| 西贡区| 紫金县| 湟源县| 页游| 武乡县| 芦溪县| 宁海县| 赤峰市| 玉龙| 津市市| 琼中| 当阳市| 民和| 同仁县| 宝丰县| 当雄县| 中阳县| 招远市| 台北市| 本溪市| 上栗县| 丹阳市| 新郑市| 津市市| 乐至县| 兖州市| 渝北区| 铜山县| 隆子县| 新乐市| 长汀县| 玉林市| 富蕴县|