Docker Commands

Docker provider公开了一些额外的vagrant命令,这些命令对于与Docker容器交互非常有用。这有助于你在vagrant之上的工作流程,这样你就可以在底层完全访问Docker。

1.docker-exec

userdeMBP:~ user$ vagrant docker-exec -h
Usage: vagrant docker-exec [options] [name] -- <command> [args]Options:--[no-]detach                Run in the background 在后台运行-i, --[no-]interactive           Keep STDIN open even if not attached  即使没有连接,也要保持STDIN输入打开-t, --[no-]tty                   Allocate a pty 分配一个pty-u, --user USER                  User or UID  用户或其ID--[no-]prefix                Prefix output with machine names 带有机器名称的前缀输出-h, --help                       Print this help 打印帮助信息

vagrant docker-exec命令可用于对当前正在运行的Docker容器运行一次性命令。如果容器没有运行,将返回一个错误。

$ vagrant docker-exec app -- rake db:migrate

上面例子将在app容器的上下文运行 rake db:migrate命令
⚠️请注意,“name”对应的是VM的名称,而不是Docker容器的名称。

考虑以下Vagrantfile文件:

Vagrant.configure(2) do |config|config.vm.provider "docker" do |d|d.image = "consul"end
end

这个Vagrantfile将启动官方Docker的consul镜像。然后,docker-exec进入到这个实例的相关vagrant命令是:

$ vagrant docker-exec -it -- /bin/sh

具体来说,该命令实际上是:

$ vagrant docker-exec default -it -- /bin/sh

因为“default”是第一个定义的VM的默认名称。在如下所示的多机vagrant设置中,“name”属性对应的是VM的名称(即web/consul),而不是容器的名称(nginx/consul):

Vagrant.configure do |config|config.vm.define "web" doconfig.vm.provider "docker" do |d|d.image = "nginx"endendconfig.vm.define "consul" doconfig.vm.provider "docker" do |d|d.image = "consul"endend
end

下面的命令是无效的,因为nginx是镜像的名称:

# Not valid
$ vagrant docker-exec -it nginx -- /bin/sh

因为VM的“name”是“web”,所以命令实际上应该是:

$ vagrant docker-exec -it web -- /bin/sh

因此,建议将VM命名为与容器相同的名称。在上面的例子中,进入consul容器的命令是:

$ vagrant docker-exec -it consul -- /bin/sh

2.docker-logs

vagrant docker-logs命令可以用来查看正在运行的容器的日志。因为大多数Docker容器都是单进程的,所以它用于查看该进程的日志。此外,还可以对日志进行跟踪。

3.docker-run

vagrant docker-run命令可用于对Docker容器运行一次性命令。已启动的一次性Docker容器共享原始Docker容器的所有卷、链接等。

⚠️与docker-exec不同在于docker-run启动的容器也是一次性的,运行完命令后就会关闭

一个例子如下:

$ vagrant docker-run app -- rake db:migrate

上面的例子将会在app容器的上下文中运行rake db:migrate命令

转载于:https://www.cnblogs.com/wanghui-garcia/p/10178314.html

vagrant特性——基于docker开发环境(docker和vagrant的结合)-2-命令相关推荐

  1. Docker 开发环境正在崩坏!

    作者 | Micah Adams 责编 | 徐威龙 封图 | CSDN 下载于视觉中国 最近,我构建了一个本地开发环境,该环境使用 Docker 进行一些关键的集成测试. 在我要完成这项工作时,我意识 ...

  2. 阿里云服务器安装docker开发环境

    前段时间在阿里云上买了个服务器,打算部署一下开发环境,想了一下就使用最近一年念念不忘的docker来部署吧!他的好处就去看看官方文档吧,这边在部署使用之后会总结到该导航文章中,这篇导航文章会随时更新, ...

  3. docker开发环境搭建(windows)

    目录 Docker开发环境搭建 1.1mysql 1.1.1拉取镜像 1.1.2本地新建目录(windows为例) 1.1.3创建容器并添加本地映射 1.1.4连接容器数据库验证成功 2.1nacos ...

  4. Windows平台上iPhone基于cygwin开发环境的搭建方法

    cygwin 開發平台(windows版 iPhone SDK) http://www.iphonetw.net/books/unofficialdev/cygwintoolchain Windows ...

  5. 利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境

    利用HFS一分钟搭建好ESP8266基于Arduino开发环境

  6. arduino编码器计数_基于Arduino开发环境的光电编码器检测仪设计方案 - 全文

    0 引言 Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的.其硬件系统也是高度模块化的,在核心控制板的外围有开关量输入/输出模块.各种模 ...

  7. 0基础用vagrant 快速构建larval开发环境 (我杨某人尽力描述了,都有从0介绍)

    vagrant 快速构建larval开发环境 历史背景 今天闲来无事又从头写了一遍,这玩意能干嘛?从0开始,5分钟自动化部署larval框架项目(取决于你网速),无论是windows,mac,linu ...

  8. 极海APM微控制器基于IAR开发环境搭建与工程调试配置方法

    极海APM微控制器基于IAR开发环境搭建与工程调试配置方法 ✨本篇主要针对基于IAR for ARM版本:V9.30.1环境搭建和工程调试配置过程进行介绍,当然也同样适用于基于ARM架构芯片的开发使用 ...

  9. 移植MPL库(基于STM32CubeIDE开发环境)

    移植MPL库(基于STM32CubeIDE开发环境) 目前在开发利用MPU9250做9轴的应用的时候,查到的资料基本上都是基于STM32F4平台,MDK开发环境.MDK需要license,STM32前 ...

最新文章

  1. ADempiere TableDirect类型的reference分析
  2. PADS 创建封装笔记
  3. Intel VT学习笔记(四)—— VMCS(下)
  4. COGS-930-找第k小的数-HNOI2012-主席树
  5. mac下搭建lua环境
  6. JS中与正则相关的方法
  7. 分享30个新鲜PSD网站模板免费下载
  8. redis——NOSQL及redis概述
  9. 看,这就是你脱下谷歌眼镜的世界——多乏味!
  10. 魅族17系列渲染图曝光:“防爆盾”后盖引网友无限吐槽
  11. 数据分析学习笔记—python简单操作EXCEL
  12. zepto.js学习笔记01
  13. php解析html类库simple_html_dom(2)
  14. SQL Server 启动错误 系统找不到指定的文件/路径
  15. Windows下Cmder 安装及配置
  16. Matlab plot默认常用颜色RGB及十六进制颜色代码
  17. matlab GUI画图实例——手动输入函数画图
  18. 几个著名的心理学实验
  19. 微信小号的另一个作用
  20. pdf.js在h5端访问图片服务器地址携带token防盗链无法读取问题,兼容安卓ios在线预览

热门文章

  1. laravel 知识点总结
  2. PHP 实现实时通信一般有两种方式
  3. 转:Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件
  4. oracle 在 Linux下安装环境配置
  5. Windows 7环境下网站性能测试小工具 Apache Bench 和 Webbench使用和下载
  6. SEO关键词优化:如何理解被百度快速索引?
  7. html5-5 HTML5表单元素和内嵌框架
  8. 一道简单的多维数组取值问题
  9. 关于直播,所有的技术细节都在这里了(3)《转载》
  10. CentOS6修改/etc/fstab文件造成系统无法启动的问题