UDN-企业互联网技术人气社区

板块导航

浏览  : 1666
回复  : 0

[资源分享] 在 Mac OS X 上安装红帽容器开发工具包

[复制链接]
哥屋恩的头像 楼主
发表于 2016-10-23 19:37:02 | 显示全部楼层 |阅读模式
  容器技术很棒,它将会改变我们开发好传递软件的方式。当然也有一个批评此技术的人认为它并不安全和足够安全的在产品环境运行。

  随着 Red Hat Enterprise Linux 7.1 和 Red Hat Atomic 的登陆,企业和组织机构可以不用牺牲安全性和性能,也能拥抱这一新技术趋势。

  什么 Red Hat CDK?

  CDK 是 Container Development Kit(容器开发包)的缩写,它能让开发者在他们的桌面系统上使用 Red Hat Atomic,不管他们所使用的是 Microsoft Windows®,Mac OS X® 或者其他 Linux 的发行版。同boot2Docker类似,CDK利用虚拟机来启动一个小的主机,它能运行基于 Red Hat Enterprise Linux 的容器。

  前置条件

  Red Hat 订阅 – 要安装 Red Hat CDK 你就得拥有一个激活了的 Red Hat Enterprise Linux 订阅, 如果没有,可以在 这里 进行申请和查看。

  虚拟环境 – VirtualBox (Mac/Windows) 或者 virt-manager (Linux)

  Vagrant – 用来创建和管理虚拟环境。

  从 Red Hat 消费者门户 下载下面这些东西。

  Red Hat 容器工具(Container Tools)

  面向 VirtualBox 的 Red Hat Atomic Vagrant 盒子 或者 面向libvirt 的 Red Hat Atomic Vagrant 盒子。

  安装 Red Hat 容器开发包

  注意:在这之前你需要安装好虚拟化环境以及 Vagrant

  解压你下载的 cdk.zip 文件到主目录. 这样会创建 ~/cdk (/Users/username/cdk)

 
  1.  $ unzip -d $HOME ~/Downloads/cdk-1.0-0.zip
复制代码

  安装使用 Red Hat Vagrant 所需要的 Vagrant 插件. 第一个插件会花几分钟时间,Vagrant 可能会需要安装一些额外的gem文件。

  1.   $ cd ~/cdk/plugins

  2.   $ vagrant plugin install vagrant-registration-0.0.8.gem

  3.   $ vagrant plugin install vagrant-atomic-0.0.3.gem
复制代码


  验证插件是否已经安装好了:

  1.   $ vagrant plugin list

  2.   vagrant-atomic (0.0.3)

  3.   - Version Constraint: 0.0.3

  4.   vagrant-registration (0.0.8)

  5.   - Version Constraint: 0.0.8
复制代码


  将 RHEL Atomic 盒子添加到 Vagrant:

  1.   $ vagrant box add --name rhel-atomic-7 ~/Downloads/rhel-atomic-virtualbox-7.1-0.x86_64.box
复制代码

  启动 Atomic 主机

  为 Docker 文件创建一个工作目录

  1.   $ mkdir ~/containers && cd ~/containers
复制代码


  为容器创建一个工作目录,并初始化 vagrant

  1.   $ mkdir containers && cd containers

  2.   $ vagrant init -m

  3.   A `Vagrantfile` has been placed in this directory. You are now

  4.   ready to `vagrant up` your first virtual environment! Please read

  5.   the comments in the Vagrantfile as well as documentation on

  6.   `vagrantup.com` for more information on using Vagrant.
复制代码


  这一步会创建一个简单的 Vagrant 文件。打开它并像下面这样修改配置:

  1.   Vagrant.configure(2) do |config|

  2.   config.vm.box = "rhel-atomic-7"

  3.   config.vm.hostname = "rhel-atomic-7-Docker-host"

  4.   config.vm.provider "virtualbox" do |vb|

  5.   vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]

  6.   vb.memory = 4096

  7.   end

  8.   config.vm.provision "shell", inline: <<-SHELL

  9.   sudo systemctl stop Docker > /dev/null 2>&1

  10.   sudo groupadd Docker > /dev/null 2>&1

  11.   sudo usermod -a -G Docker vagrant

  12.   sudo systemctl enable Docker && sudo systemctl start Docker

  13.   sudo chown root:Docker /var/run/Docker.sock

  14.   sudo systemctl enable Docker && sudo systemctl start Docker

  15.   SHELL

  16.   end
复制代码


  我们现在已经做好了启动容器的准备。在机器的创建过程中,你将会看到是否想要注册系统的提示。回答 “Y” 就会要你输入RHN (Red Hat Network) 账户的用户名和密码.

  1.   $ vagrant up

  2.   Bringing machine 'default' up with 'virtualbox' provider...

  3.   ==> default: Importing base box 'rhel-atomic-7'...

  4.   ==> default: Matching MAC address for NAT networking...

  5.   ==> default: Setting the name of the VM: containers_default_1432213616739_95846

  6.   ==> default: Clearing any previously set network interfaces...

  7.   ==> default: Preparing network interfaces based on configuration...

  8.   default: Adapter 1: nat

  9.   ==> default: Forwarding ports...

  10.   default: 22 => 2222 (adapter 1)

  11.   ==> default: Running 'pre-boot' VM customizations...

  12.   ==> default: Booting VM...

  13.   ==> default: Waiting for machine to boot. This may take a few minutes...

  14.   default: SSH address: 127.0.0.1:2222

  15.   default: SSH username: vagrant

  16.   default: SSH auth method: private key

  17.   default: Warning: Connection timeout. Retrying...

  18.   default:

  19.   default: Vagrant insecure key detected. Vagrant will automatically replace

  20.   default: this with a newly generated keypair for better security.

  21.   default:

  22.   default: Inserting generated public key within guest...

  23.   default: Removing insecure key from the guest if its present...

  24.   default: Key inserted! Disconnecting and reconnecting using new SSH key...

  25.   ==> default: Machine booted and ready!

  26.   ==> default: Checking for guest additions in VM...

  27.   default: No guest additions were detected on the base box for this VM! Guest

  28.   default: additions are required for forwarded ports, shared folders, host only

  29.   default: networking, and more. If SSH fails on this machine, please install

  30.   default: the guest additions and repackage the box to continue.

  31.   default:

  32.   default: This is not an error message; everything may continue to work properly,

  33.   default: in which case you may ignore this message.

  34.   ==> default: Setting hostname...

  35.   ==> default: Registering box with vagrant-registration...

  36.   default: Would you like to register the system now (default: yes)? [y|n] y

  37.   default: Subscriber username:

  38.   default: Subscriber password: ==> default: Rsyncing folder: /Users/tqvarnst/containers/ => /home/vagrant/sync

  39.   ==> default: Running provisioner: shell...

  40.   default: Running: inline script
复制代码


  测试你的安装

  1.   $ vagrant ssh

  2.   [vagrant@rhel-atomic-7-Docker-host ~]$ Docker ps

  3.   CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  4.   [vagrant@rhel-atomic-7-Docker-host ~]$ Docker run -it rhel7.1 bash

  5.   Unable to find image 'rhel7.1:latest' locally

  6.   Pulling repository registry.access.redhat.com/rhel7.1

  7.   10acc31def5d: Download complete

  8.   Status: Downloaded newer image for registry.access.redhat.com/rhel7.1:latest

  9.   [root@ead3774c2b84 /]# cat /etc/redhat-release

  10.   Red Hat Enterprise Linux Server release 7.1 (Maipo)

  11.   [root@ead3774c2b84 /]#
复制代码


  按下 CTRL-P + CTRL-Q 可以离开你的容器

  1.   [vagrant@rhel-atomic-7-Docker-host ~]$ Docker ps

  2.   CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  3.   ead3774c2b84 registry.access.redhat.com/rhel7.1:7.1-4 "bash" About a minute ago Up About a minute focused_rosalind
复制代码


  如下命令可以停掉或者删除容器

  1.   [vagrant@rhel-atomic-7-Docker-host ~]$ Docker stop $(Docker ps -q)

  2.   ead3774c2b84

  3.   [vagrant@rhel-atomic-7-Docker-host ~]$ Docker rm $(Docker ps -aq)

  4.   ead3774c2b84
复制代码


  总结

  通过这个指南,你就可以有一个可以来使用基于 Red Hat Enterprise Linux 7.1 的容器的工作环境,不管你使用的是 Mac OS X®,Microsoft Windows® 还是其它的Linux发行版。

原文作者:佚名  来源:开发者头条

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部