Docker入坑指南之RUN
总有一些场景,我们需要自己制作一个镜像,可以快速还原环境,又不想被其他因素干扰镜像的纯净,这个时候,就可以选择Docker了,启动便捷,镜像还原很快捷,除了上手不容易。
最近入坑研究了一番,小有心得,故写一篇杂文,记录自己的踩坑经历。
安装Docker的过程可以参考其他前辈的文章,不再赘述,从实战角度说,如何构建一个自用的Docker镜像。
首选说一下Docker的几个名词,仓库是管理镜像的,容器是镜像启动后的,镜像就是最干净的环境,镜像启动之后变成容器。
docker的run是启动镜像的介质,启动之后的镜像,可以跟各种参数,比如加载镜像内进程,常见比如 windows镜像的cmd或linux镜像的/bin/bash
这个时候就可以使用docker attach 容器ID(或者容器名)
docker run之后,会生成一长串的看上去像hash字符串的东西,多是长的字符串,可以直接把那个当容器ID使用,也可以docker ps -a获取短容器ID,如果启动的参数有--name的话,也可以用容器别名
示例如下
docker run -itd --name linux linux /bin/bash
这个参数解析如下
docker -itd --name linux(容器别名) linux(镜像名) /bin/bash(附加参数)
参数-d是后台运行容器,并返回容器ID
参数-i是以交互模式运行容器,通常与 -t 同时使用
参数-t是为容器重新分配一个伪输入终端,通常与 -i 同时使用
因为容器经常是需要对外服务给其他容器使用,或者隐射出来使用,所以还有几种网络相关参数
参数-p是端口映射,格式为:主机(宿主)端口:容器端口
参数--link添加链接到另一个容器,经常会配合-h,容器内通过别名互访,也可以和--name的别名访问
参数--expose=是开放一个端口或一组端口
启动的参数可以跟上tag标志
比如有两个镜像 mysql:laster mysql:5.7
默认启动mysql是mysql:laster,如果我们要启动5.7的就
docker run -itd mysql mysql:5.7 /bin/bash
Docker入坑指南之RUN的更多相关文章
- Docker入坑指南之EXEC
容器启动之后,如果我们需要进入容器内修改配置,比如mysql修改启动配置 我们启动的附加参数是不是shell,这个时候就可以用docker exec了,docker除了对image参数以外,大部分命令 ...
- electron入坑指南
electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
- Docker 入坑教程笔记
Docker 入坑教程笔记 视频网址B站:点这里 查询命令 man docker 简单启动和退出 docker run --name [容器名] -i -t ubuntu /bin/bash 交互启动 ...
- Docker入坑系列(二)
Docker入坑系列(二) 上一篇我们为Docker创造了一个良好的生活环境,这一篇我们就开始让Docker活起来. 安装Docker ok,原文地址在这里. 当然,我只是自己翻译了一下而已- -跟着 ...
- C语言入坑指南-被遗忘的初始化
前言 什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题. 什么是初始化 初始化指的是对数据对象或者变量赋予初始值.例如: int va ...
- Elasticsearch入坑指南之RESTful API
Elasticsearch入坑指南之RESTful API Tags:Elasticsearch ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常 ...
- eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南
eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...
- Rust入坑指南:核心概念
如果说前面的坑我们一直在用小铲子挖的话,那么今天的坑就是用挖掘机挖的. 今天要介绍的是Rust的一个核心概念:Ownership.全文将分为什么是Ownership以及Ownership的传递类型两部 ...
随机推荐
- 深克隆(deepclone)
1.简单版: <script type="text/javascript"> const newObj = JSON.parse(JSON.stringify(oldO ...
- Bootstrap 搭建基础页面
基于Bootstrap实现下图所示效果的页面,一个居中的标题和一个大按钮: <!DOCTYPE html> <html lang="zh-cn"> < ...
- Python之函数、递归、内置函数
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...
- Python之网络编程 Socket编程
本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实 ...
- 移除hmtl5 input type=“number”的step验证
设置 step="any"例如:<input type="number" step="any" value=""& ...
- day10 python之函数的参数
函数的基本属性 1.1 函数的含义 # 1.功能 :包裹代码,实现功能,达到目的 # 2.特点 :反复调用,提高开发效率,便于代码维护 1.1.2 函数的基本格式 # 函数名 :变量命名规则 # 函数 ...
- JS闭包应用场景之函数回调(含函数的调用个人理解)
首先我们来绑定一个函数给click事件,这个很好理解,就是创建一个匿名函数作为回调绑定给click事件,如下: 但如果我们想声明一个函数作为回调来绑定多个元素呢,例如下面(注意:绑定事件后不用加括号, ...
- js读取其他网页内容(同源)
通过xss第一次取得网页内容,然后获取到管理员账号页面进行二次盲打.js需要保留script部分其余去除. <html><p id='d1'></p> <sc ...
- jmeter配置原件之使用CSV Data Set Config参数化
测试过程中经常需要对发送的请求进行参数化,jmeter提供的CSV Data Set Config 配置元件可以很好的对请求数据进行参数化,下面介绍使用CSV Data Set Config参数化 1 ...
- jenkins集群(一) -- 在Linux上部署
一.安装好jdk.maven.git 1.安装jdk并配置好全局变量 2.安装maven:yum install maven 3.安装jdk:yum install git 二 .安装jenkins ...