Docker常用命令

docker version #查看版本
docker search centos #搜索可用docker镜像
docker images 查看当前docker所有镜像
docker pull centos 下载镜像
cat centos.tar |docker import - centos6_newname #导入Docker 导入镜像
docker export 容器id > centos6.tar #导出镜像
docker run centos echo "hello world" #在Docker容器中运行hello world
docker run centos yum install ntpdate #在容器中安装ntpdate的程序
docker ps -l 命令获取最后一个容器的id,docker ps -a 查看所有的容器
运行docker commit 提交刚修改的容器
docker commit centos:v1
docker run -i -t -d centos /bin/bash 在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t tty,表示打开一个终端的意思,-i interactive,表示可以交互输入,-d表示在后台启动,以daemon方式启动。
docker run -d centos:v1 /bin/bash
Docker stop id 关闭容器
Docker start id 启动某个容器
docker rm id 删除容器,docker rmi images删除镜像
docker run -d -p : -p : centos:v2,解析:-p指定容器启动后docker上运行的端口映射及容器里运行的端口,:,第一个80表示docker系统上的80,第二个80表示docker虚拟机里面的端口。用户默认访问本机80端口,自动映射到容器里面的80端口。
docker exec -it id /bin/bash 进入容器终端
docker exec id ifconfig查看容器的IP地址;
Docker inspect id |grep -i ipaddr查看容器IP地址;
Docker exec df -h查看容器的磁盘分区信息;

批量启动多台nginx web服务

for i in `seq  10 99 `  ;do docker run -itd -p 80$i:80 docker.io/nginx ;done

Docker网络

1)Host模式详解:

默认Docker容器运行会分配独立的Network Namespace 隔离子系统,基于host模式,容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主主机的IP和端口。

会共享物理主机的IP

2)Container模式详解

Container模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace 而不是和宿主主机共享。

即新创建的容器不会创建自己的网卡,配置自己的IP,而不是和一个指定的容器共享IP、端口。同样两个容器除了网络方面之外,其他的如文件系统、进程列表等还是隔离的。

3)None模式详解

None模式与其他的模式都不同,如果处理None模式,Docker容器拥有自己的Network Namespace,但是并不为Docker容器进行任何网络配置。也就是说该Docker容器没有网卡、IP、路由等信息,需要手工为Docker容器添加网卡、配置IP等,典型Pipework工具为Docker容器指定IP等信息;

4)Bridge桥接模式

Bridge 模式是Docker 默认的网络模式,该模式会为每一个容器分配Netwrok Namespace、设置IP、路由等配置 默认会将Docker容器连接到一个虚拟网桥交换机Docker0

Docker Bridge 创建过程:

1)首先宿主机上创建一对虚拟机网卡veth pair 设备,veth设备总是成对出现的,组成了一个数据的通道,数据从一个设备进入,就会从另外一个设备出来,veth设备常用来连接两个网络设备。

2)Docker将veth pair 设备的一端放在新创建的容器中,并命令为eth0,然后将另一端放在宿主机中,以vethxxx这样类似的名字命名,并将整个网络设备加入到docker0网桥中,可以通过brctl show命令查看。

3)从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。

4)此时容器IP与宿主机能够通信,宿主机也可以访问容器中的IP地址,在Bridge模式下,连在同一网桥上的容器之间可以相互通信,同时容器IP,需要通过NAT将容器IP的port映射为宿主机的IP和port。

Docker网络及命令的更多相关文章

  1. Docker 网络及命令

    Docker常用命令 docker version #查看版本 docker search centos #搜索可用docker镜像 docker images 查看当前docker所有镜像 dock ...

  2. 6.Docker网络

    什么是 Docker网络 docker 不启动,默认网络情况 ens33 lo virbr0 在 CentOS7 的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的 ...

  3. 理解Docker(5):Docker 网络

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  4. 【转】Docker网络详解及pipework源码解读与实践

    好文必转 原文地址: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-prac ...

  5. docker专题(2):docker常用管理命令(上)

    http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...

  6. Docker网络模式

    [编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...

  7. docker网络访问(三)

    docker网络访问 ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥. 1.随机映射 docker run -P 2.指定映射 -p hostPor ...

  8. Docker网络——单host网络

    前言 前面总结了Docker基础以及Docker存储相关知识,今天来总结一下Docker单主机网络的相关知识.毋庸置疑,网络绝对是任何系统的核心,他在Docker中也占有重要的作用.同样本文基于Clo ...

  9. Docker 网络之理解 bridge 驱动

    笔者在前文<Docker 网络之进阶篇>中介绍了 CNM(Container Network Model),并演示了 bridge 驱动下的 CNM 使用方式.为了深入理解 CNM 及最常 ...

随机推荐

  1. celipse关联hadoop源码

    可以在这里下载hadoop的源码包 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 我自己下载的是hadoop2.6.0的源码包 ...

  2. 小朋友学C语言(3):整数、浮点数、字符

    C语言的数据类型有整型.浮点型(就是小数).字符.字符串.数组.结构体等.刚开始学的时候,不要一下子学太多.先学最基本的整型.浮点型和字符. 对于学习程序来说,最重要的是动手操作. 先编写程序: #i ...

  3. solr使用cursorMark做深度分页

    深度分页 深度分页是指给搜索结果指定一个很大的起始位移. 普通分页在给定一个大的起始位移时效率十分低下,例如start=1000000,rows=10的查询,搜索引擎需要找到前1000010条记录然后 ...

  4. HTTP请求返回值所代表的含义

    一些常见的状态码为: 200 - 服务器成功返回网页(表示请求成功) 404 - 请求的网页不存在(可能是网络的问题,也可能是网页没办法访问不代表网页不存在) 503 - 服务器超时(服务器故障) 下 ...

  5. Python列表生成式和生成器

    [1]列表生成器:列表生成式就是一个用来生成列表的特定语法形式的表达式. 1.基础语句结构:[exp for iter_var in iterable例如:a=[f(x) for x in range ...

  6. windows下maven的安装

    1.下载maven的zip包,下载地址:http://maven.apache.org/download.cgi 2.解压到F:\maven 3.修改环境变量: MAVEN_HOME:F:\maven ...

  7. kotlin的安装(一)

    1.下载Kotlin Compiler Kotlin 命令行环境主要依赖就是Kotlin Compiler,目前最新版本是 1.1.2-2.其下载链接是:https://github.com/JetB ...

  8. linux安装python3 ,安装IPython ,安装jupyter notebook

    安装python3    下载到 /opt/中 1.下载python3源码,选择3.6.7因为ipython依赖于>3.6的python环境wget https://www.python.org ...

  9. swagger常用注解

    @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @Api ...

  10. 微信小程序笔记<一>初识小程序

    一.IDE界面介绍 编辑界面 调试界面 项目管理界面 左侧工具介绍 二.项目文件类型及结构介绍 这是一个初始小程序的项目目录,其中涉及四种文件类型: *.js:JavaScript文件(JavaScr ...