例如,使用docker 拉取下来一个要用的镜像es

docker pull elasticsearch:5.6.9

此时es的镜像存在与服务器上

docker images

对于你运行镜像为一个容器的命令,你会使用

docker run -d --name es1 -p 9200:9200 -p 9300:9300 --restart=always elasticsearch:5.6.9

这是最简单的一个运行命令,只是标明了

1》你要运行的镜像是  elasticsearch:5.6.9   【镜像名称:版本号】

2》--name指定了你是用本镜像运行起来的容器名字叫 es1

3》-p 9200:9200  指定了本容器对外的端口号是多少

4》--restart=always  指定本容器随着 docker重启而重启

容器运行后,就是一个独立的存在,容器内部是有完整的目录的

使用命令

docker exec -it es1  /bin/bash

命令很简单  就是

docker exec -it 容器名或者ID  /bin/bash

就可以进入已经运行起的容器内部。【因为每个容器都是独立存在的,所以容器内部的好多命令都不能用,例如vi  例如ll】

为什么要进入docker容器内部呢?

因为你如果要使用复杂的启动容器命令,进行挂载的操作,就需要了解es自己的配置文件在容器中的位置

如下命令:

docker run -d --name es1-master -p 9200:9200 -p 9300:9300 --restart=always -v /apps/elasticSearch/es1-master.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /apps/elasticsearch/es1_data:/usr/share/elasticsearch/data elasticsearch:5.6.9 

除了最基本的命令之外,这个复杂命令进行了配置文件以及data目录的挂载

-v /apps/elasticSearch/es1-master.yml:/usr/share/elasticsearch/config/elasticsearch.yml

本参数的说明:标识 将 -v  /apps/elasticSearch/es1-master.yml【宿主机的实际自定义配置文件】:【挂载】/usr/share/elasticsearch/config/elasticsearch.yml【docker容器 中默认配置文件】

简单来说,就是 你使用docker run运行起来的docker容器 es1-master,这个容器实际使用的配置文件是 你宿主机中自定义的配置文件/apps/elasticSearch/es1-master.yml ,使用这个自定义文件替换了容器内默认的配置文件/usr/share/elasticsearch/config/elasticsearch.yml

同理,-v /apps/elasticsearch/es1_data:/usr/share/elasticsearch/data  的含义就是 你的docker容器es1-master 启动以后的date数据,是存放在/apps/elasticsearch/es1_data中的,而不是存在默认的容器内的/usr/share/elasticsearch/data目录下的!!!!

而实现挂载的好处,就是你如果想要修改本容器的参数,就不用每次进入容器内部去修改配置文件,而只需要在宿主机上修改自定义的配置文件,然后重启你的容器就可以了

最后,退出docker容器的命令就是

exit

【docker】关于docker 中 镜像、容器的关系理解的更多相关文章

  1. docker登录运行中的容器的4方案

    目前容器云非常的成熟,也有很多的使用案例,可以说不是什么高大上的东西了,可以说整个云计算也不是什么奢侈品,而是基础设施.但是如何使用,就成了必须的技术. 今天记录下,基于docker的容器登录技术. ...

  2. Docker给运行中的容器添加映射端口

    方法一: 1.获得容器IP将container_name 换成实际环境中的容器名docker inspect `container_name` | grep IPAddress 2. iptables ...

  3. docker学习笔记2--对镜像/容器的命令操作

    Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...

  4. Docker 给运行中的容器添加映射端口

    方法1 1.获得容器IP 将container_name 换成实际环境中的容器名 docker inspect `container_name` | grep IPAddress 2. iptable ...

  5. docker 笔记--运行中的容器如何添加端口映射

    解决: iptables -t nat -A DOCKER -p tcp --dport ${YOURPORT_1} -j DNAT --to-destination ${CONTAINERIP}:$ ...

  6. docker for windows 中 镜像 microsoft/donet 的文件结构

    一共有3个文件夹和1个文件: [Program Files] [Users] [Windows] License.txt 使用vs默认生成的dockerfile文件生成后,会新增app文件夹.

  7. Docker学习笔记之镜像与容器

    0x00 概述 镜像和容器作为 Docker 里最基础的概念,我们很有必要了解 Docker 对它们的很多定义以及其他与它们有关的知识.在这一小节里,我们就专门针对镜像与容器两个概念展开,细致的梳理与 ...

  8. 《11招玩转网络安全》之第一招:Docker For Docker

    玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,Docker也不能缺少,读者只需要知道,Docker只虚拟Linux系统中的某个程序就可以了.本节就来介绍Linux下安装设置Docke ...

  9. Docker 基础 - Docker 与前端(二)

    一.Docker 系统架构 守护进程 负责容器的创建.运行和监控,还负责镜像的构建和存储.docker demon 命令可启动 Docker 守护进程. Docker 客户端 通过http与 dock ...

随机推荐

  1. AngularJs(SPA)单页面SEO以及百度统计应用(上)

    只有两种人最具有吸引力,一种是无所不知的人,一种是一无所知的人 问:学生问追一个女孩总是追不上怎么办?回答:女孩不是追来的,是吸引来的,你追的过程是吸引女孩的过程,如果女孩没有看上你,再追都是没有用的 ...

  2. .net程序员写业务代码需要注意的地方

    代码规范要求1.命名空间规范:dao层的impl实现和接口采用一样的命名空间,到对应文件夹层:IxxDaoContext与其实现类采用顶级命名空间. 2.TableEntity文件夹:所有的实体放到各 ...

  3. CCF CSP 201709-3 JSON查询

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-3 JSON查询 问题描述 JSON (JavaScript Object Not ...

  4. day5模块学习--XML模块

    XML文件处理 XML文件处理,有好几种方式,这里介绍一下xml.etree.ElementTree as ET. 注意:xml.etree.ElementTree模块在应对恶意结构数据时显得并不安全 ...

  5. vue 笔记备份

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty() ...

  6. Rookey.Frame之实体FluentValidation验证

    昨天给大家介绍了Rookey.Frame框架的实体设计,今天继续跟大家分享实体的FluentValidation验证,在Rookey.Frame框架中可以设置多种验证方式:FluentValidati ...

  7. 【LOJ】#2127. 「HAOI2015」按位或

    题解 听说这是一道论文题orz \(\sum_{k = 1}^{\infty} k(p^{k} - p^{k - 1})\) 答案是这个多项式的第\(2^N - 1\)项的系数 我们反演一下,卷积变点 ...

  8. Django实战(16):Django+jquery

    现在我们有了一个使用json格式的RESTful API,可以实现这样的功能了:为了避免在产品列表和购物车之间来回切换,需要在产品列表界面显示购物车,并且通过ajax的方式不刷新界面就更新购物车的显示 ...

  9. Bootstrap--响应式导航条布局

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...

  10. FILE operattion

    #include "mainwindow.h"#include "ui_mainwindow.h"#include <QMessageBox>#in ...