构成图
引用
Container | Container | ...
-----------------------
Docker
-----------------------
CoreOS
-----------------------
Virtual Box
-----------------------
Local Machine(Windows)
***CoreOS已经内置了docker,CoreOS也推出新的容器引擎
Rocket(rkt)。
准备
・VirtualBox 4.3.20
https://www.virtualbox.org/wiki/Downloads
・Vagrant 1.7.2
http://www.vagrantup.com/downloads.html
・Git 1.8.3
http://git-scm.com/downloads
・Putty 0.64
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
(1)下载配置文件coreos-vagrant
F:\>git clone https://github.com/coreos/coreos-vagrant.git
(2)修改配置文件
・config.rb.sample -> config.rb
・user-data.sample -> user-data
・config.rb
$num_instances=1 #如果安装单个coreos就写1,如果是集群就写大于1的数字
$update_channel='stable' #这个是版本,可以改为stable或者beta
・Vagrantfile
# config.vm.box_version = ">= 308.0.1" 注释掉这行
(3)安装coreos
F:\>cd coreos-vagrant
F:\coreos-vagrant>vagrant up
Bringing machine 'core-01' up with 'virtualbox' provider...
==> core-01: Box 'coreos-stable' could not be found. Attempting to find and install...
core-01: Box Provider: virtualbox
core-01: Box Version: >= 0
==> core-01: Loading metadata for box 'http://stable.release.core-os.net/amd64-
usr/current/coreos_production_vagrant.json'
core-01: URL: http://stable.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json
==> core-01: Adding box 'coreos-stable' (v633.1.0) for provider: virtualbox
core-01: Downloading: http://stable.release.core-os.net/amd64-usr/633.1.0/coreos_production_vagrant.box
==> core-01: Box download is resuming from prior download progress
core-01: Progress: 20% (Rate: 62195/s, Estimated time remaining: 0:20:11)
.......第一次需要下载box文件
==> core-01: Importing base box 'coreos-stable'...
.......第二次就不用下载了
==> core-01: Setting the name of the VM: coreos-vagrant_core-01_1430979570265_83365
==> core-01: Clearing any previously set network interfaces...
==> core-01: Preparing network interfaces based on configuration...
core-01: Adapter 1: nat
core-01: Adapter 2: hostonly
==> core-01: Forwarding ports...
core-01: 22 => 2222 (adapter 1)
==> core-01: Running 'pre-boot' VM customizations...
==> core-01: Booting VM...
==> core-01: Waiting for machine to boot. This may take a few minutes...
core-01: SSH address: 127.0.0.1:2222
core-01: SSH username: core
core-01: SSH auth method: private key
core-01: Warning: Connection timeout. Retrying...
==> core-01: Machine booted and ready!
==> core-01: Setting hostname...
==> core-01: Configuring and enabling network interfaces...
==> core-01: Running provisioner: file...
==> core-01: Running provisioner: shell...
core-01: Running: inline script
(4)vagrant连接CoreOS
F:\coreos-vagrant>vagrant ssh
CoreOS stable (633.1.0)
core@core-01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=633.1.0
VERSION_ID=633.1.0
BUILD_ID=
PRETTY_NAME="CoreOS 633.1.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core-01 ~ $ docker -v
Docker version 1.5.0, build a8a31ef-dirty
core@core-01 ~ $ exit
logout
'cygwin': unknown terminal type.
Connection to 127.0.0.1 closed.
查看运行状态
F:\coreos-vagrant>vagrant global-status
id name provider state directory
------------------------------------------------------------------------
52bbbd1 core-01 virtualbox running F:/coreos-vagrant
关闭容器
F:\coreos-vagrant>vagrant halt
==> core-01: Attempting graceful shutdown of VM...
(5)Putty连接CoreOS
Private key: C:\Documents and Settings\RenSanNing\.vagrant.d\insecure_private_key
・打开PuTTYgen,通过菜单Conversions > Import key来读入上边的insecure_private_key
・保存密钥为.ppk文件Save private key
・打开PuTTY
【Session】
Host Name: core@127.0.0.1
Port: 2222
【Connection / SSH / Auth】
Private key file for authentication:选择上边的.ppk文件
****XP下Vagrant不能添加box:参考
这里
****启动卡在“Booting VM...”:修改config.rb文件“$vm_gui = true”以GUI形式启动。
(6)CentOS 6中安装Docker
# rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum update -y
# yum -y install docker-io
# service docker start
# chkconfig docker on
(7)Docker基础
■镜像Image
公共registry:
https://registry.hub.docker.com/
查找镜像
# docker search centos | more
查看镜像详细信息
# docker inspect centos:latest
下载镜像
# docker pull centos:latest
# docker pull busybox
# docker pull docker.cn/docker/java
镜像列表
# docker images
删除镜像
# docker rmi centos:latest
■容器Container
从镜像上创建一个容器Container
# docker run centos /bin/echo ok
# docker run -i -t centos /bin/bash
容器列表
# docker ps -a
与运行中的容器交互
# docker start 330ec265ad9d
# docker attach 330ec265ad9d
# docker stop 330ec265ad9d
查看容器日志
# docker logs 330ec265ad9d
删除容器
# docker rm 330ec265ad9d
■Container - Image
安装Apache
# docker run -i -t -h centos centos:centos6 /bin/bash
bash-4.1# yum -y install httpd
bash-4.1# exit
提交变更
# docker ps -a
# docker commit abb0ba529ee9 cent6_apache
# docker ps -a
运行Apache
# docker run -p 8080:80 -d cent6_apache /usr/sbin/apachectl -DFOREGROUND
■创建镜像Dockerfile
语法: INSTRUCTTION argument
指令约定为全部大写
必须以FROM命令开始: FROM <image name>
# vi Dockerfile
FROM centos
MAINTAINER rensanning <rensanning@gmail.com>
RUN echo "now building..."
CMD ["echo", "now running..."]
# docker build -t rensanning/test .
# docker images
# docker run rensanning/test
# vi Dockerfile
FROM centos
MAINTAINER rensanning <rensanning@gmail.com>
RUN yum install -y httpd
ADD ./index.html /var/www/html/
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
# vi index.html
<html>hello from Docker!</html>
# docker build -t rensanning/httpd .
# docker images
# docker run -p 8080:80 -d rensanning/httpd
■发布到Registry
# docker login
# docker push rensanning/httpd
更多可以参考:
Docker Cheat Sheet
- 大小: 23.2 KB
- 大小: 7.4 KB
- 大小: 41.5 KB
分享到:
相关推荐
这使得在与运行 coreos + docker 的生产环境紧密匹配的环境中开发变得简单。 欢迎任何促进 vagrant + coreos + docker 工作流程的工具。 默认情况下,它会生成一个运行稳定 coreos 通道的实例。生成 CoreOS 实例...
Vagrant提供了可配置、可复用的虚拟开发和部署环境,对于开发人员来说,Vagrant可以帮你统一团队...后面一篇会介绍vagrant上搭建docker(一种轻量级的LinuxContainer),让docker更加轻量级得管理我们统一的虚拟环境。
总的来说,`vagrant-fedora-coreos`项目提供了一个方便的工具集,让开发者能够轻松地在本地环境中搭建和管理Fedora CoreOS,这对于测试、开发或者学习Fedora CoreOS及其相关的云原生技术(如Kubernetes、Docker等)...
vagrant-docker, 在Vagrant中,使用 Docker 而不是 VM ( 例如,) vagrant在Vagrant中使用 Docker 代替 VM ( 例如,virtualbox ) 来节省系统资源( 更多的是fashionable的时尚 ! )使用这里示例代码构建你自己的框。...
Vagrant支持多种虚拟化平台,如VirtualBox、VMware和Docker,使得开发者可以在不同的环境中轻松地复制和分享开发环境。Vagrant 1.9.7版可能包含了一些性能优化和bug修复,以提高用户的使用体验。 VirtualBox 5.1.26...
VirtualBox + Vagrant或docker + docker-compose 你如何把这个打开? 数据库cd env 启动数据库: 要么使用vagrant up (通过以下方式关闭: vagrant halt ) 或通过运行docker-compose up (关闭:[CTRL] + [C]...
Vagrant_CoreOS_Docker 安装容器 克隆这个仓库 确保也安装了 vagrant 和 virtualbox 调整 vagrantfile 来安装你需要的容器 从此存储库运行vagrant up 等到一切都完成 使用您的开发环境玩得开心 常问问题 在本地...
Vagrant 是一款强大的开发环境管理工具,它允许开发者在本地创建和配置轻量级的、可移植的工作环境,主要用于简化虚拟机的管理...结合 VirtualBox 或 Docker,Vagrant 提供了一个跨平台、易于管理的开发环境解决方案。
Vagrant和VirtualBox是两种非常重要的工具,它们在IT行业中被广泛用于开发和测试环境的搭建。Vagrant是一个基于Ruby的开源工具,它允许开发者通过一个简单的命令行接口来创建和管理虚拟化环境。而VirtualBox则是一款...
先决条件Mac OS X示例用法使用 $HOME/projects/vagrant-dockerhost 作为安装位置 $ cd $HOME/projects/vagrant-dockerhost$ ./dockerenv$ vagrant upBringing machine 'dockerhost' up with 'virtualbox' provider.....
此外,了解Docker和Kubernetes等容器技术,可以与VirtualBox和Vagrant结合,实现更高效的应用部署和管理。 总结,通过VirtualBox和Vagrant的结合,我们可以轻松创建和管理CentOS 7虚拟机,这对于开发、测试或学习...
由Docker或Virtualbox支持的Vagrant Box,具有Ansible设置 受启发,并进行了大量修改,以根据自己的喜好设置devbox。 原料 高朗 Node.js node.js 4.1.1 虚拟机 凉亭 余烬 songloop 埃斯林特 Python python2.7-...
**Kubernetes-Vagrant-CoreOS-Cluster:一个便捷的Kubernetes测试环境搭建方案** 在现代云计算环境中,Kubernetes作为容器编排的领导者,被广泛应用在各种规模的企业中。然而,为了测试、学习或演示Kubernetes的...
基于 Vagrant 的 Virtualbox 设置构建打包镜像、go 文件和 docker 容器。 用法 在开始之前,请务必安装 Virtualbox 和 Vagrant。 如果你还没有设置你的机器进行开发,你可以在使用我们的 OSX 设置脚本 将此 repo ...
该项目可帮助您使用 Vagrant + Chef 脚本启动虚拟环境。 为了启动 JTalks 组件之一,您需要经过几个步骤。 ####安装软件 安装 ,这是一个用于启动虚拟环境的 Oracle 驱动工具。 Vagrant 开始支持 VMWare,但...
描述中的"vagrant-boot2docker-swarm:多机Docker群Vagrant环境"进一步强调了这个项目的核心——使用Vagrant来搭建多台运行Docker Swarm的机器。这通常意味着我们可以轻松地在本地设置一个测试或开发环境,模拟...
Vagrant支持多种虚拟化平台,如VirtualBox、VMware、Docker等。 2. **VirtualBox**:VirtualBox是由Oracle公司维护的免费且开源的虚拟化软件,它可以在Windows、macOS、Linux等多种操作系统上运行。VirtualBox提供...
安装 Vagrant Virtualbox 访客扩展插件: vagrant plugin install vagrant-vbguest 注意:还需要一些 Gb 的磁盘和 RAM 才能运行它。 设置容器 git clone https://github.com/madscoaducom/elm-docker.git cd elm-...
Vagrant是一款强大的开发环境管理工具,它允许开发者在本地创建...总的来说,Vagrant 2.2.19的64位Windows版本为开发者提供了便捷的虚拟化环境管理工具,结合Docker的使用,可以满足各种复杂项目的需求,提升开发效率。
vagrant-docker:基于轻量级Docker的开发环境