安装Docker虚拟机
  ◆ 先更新yum软件管理器,然后再安装Docker
     #更新yum软件管理器
     yum -y update
     #安装Docker
     yum install -y docker #-y 代表选择程序安装中的yes选项

管理Docker虚拟机
  ◆ 启动、关闭与重启
   #启动Docker
     service docker start
      #关闭Docker
      service docker stop
      #重启Docker
      service docker restart

在线安装镜像
  ◆ 配置加速器
     Step1:
     先进入DaoCloud的官网https://www.daocloud.io/ 需要先注册才能使用它的加速器

       curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1d6584c4.m.daocloud.io
       将上述命令在CentsOS中执行 
       
       Step2:
       编辑Docker配置文件 去掉中的',',否则加速器使用不了

       vi /etc/docker/daemon.json
       将{"registry-mirrors": ["http://1d6584c4.m.daocloud.io"],} 改为 {"registry-mirrors": ["http://1d6584c4.m.daocloud.io"]}
       然后保存daemon.json文件
 
    ◆ 在线安装Java镜像
       #在仓库中查找Java镜像

docker search java

       
       #将仓库中镜像中找到自己需要的的Java镜像下载到本机 
       docker pull 镜像名称
       eg:我需要一个镜像名称为docker.io/java的镜像
       docker pull docker.io/java
       注:国外镜像仓库下载速度较慢,建议使用国内镜像仓库,如DaoCloud(加速器)
       #显示Docker里面的所有镜像
       docker images
 
导出导入镜像
    ◆ 导入导出镜像
       #导出镜像名称为docker.io/java的镜像
       docker save docker.io/java > /home/java.tar.gz
       #导入镜像
       docker load < /home/java.tar.gz
       #显示Docker里面的所有镜像
       docker images
       #删除镜像名称为docker.io/java的镜像
       docker rmi docker.io/java
 
启动容器
    ◆ 启动名称为docker.io/java的镜像会创建出一个运行状态的容器
       dockerrun -it --name myjava docker.io/java bash
       -it:表示启动容器后开启一个交互的界面
       --name:表示为这个启动的容器命个名字,上面的”myjava“就是容器的名字。(注:该选项为可选项,也可以不给容器取名字)
       docker.io/java:镜像的名称
       bash:启动这个容器bash命令行
       docker run -it --name myjava -p 9000:8080 -p 9001:8085 docker.io/java bash
       -p:宿主机端口:docker虚拟机端口
       注:一个-p命令映射一个端口,多个端口的映射就在后面写多个-p参数即可
       docker run -it --name myjava -v /home/project:/soft --privileged docker.io/java bash       -v:宿主机目录:docker虚拟机的目录
       --privileged:表示docker虚拟机在操作宿主机目录里面拥有最高权限
       注:一个-v命令映射一个文件夹,多个文件夹的映射就在后面写多个-v参数即可
           另外像数据库文件、软件配置文件建议都放在宿主机上通过映射的方式给到Docker虚拟机,这个将来在备份和恢复时就很方便
 
        #先在宿主机上创建一个目录
        mkdir /home/project
        #将上面的命令组合下启动一个容器
        docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft --privileged --name myjava docker.io/java bash

这就表示已经进入了Docker虚拟机里面的环境了

        #在容器里面测试一些 soft文件夹下的文件写入
        cd /soft
        touch hello.txt
        echo Thanks > hello.txt
        #退出当前容器
        exit
        #去当前宿主机的目录下去查看一下文件是否写入
        cat /home/project/hello.txt
 
暂停和停止容器
    ◆ 暂停和停止容器的命令
        #暂停容器名为myjava的容器 命令格式:docker pause 容器名称|容器编号
        docker pause myjava
        #启动(用于被pause暂停了的容器)容器名为myjava的容器 命令格式:docker unpause容器名称|容器编号
        docker unpause myjava
        #停止容器名为myjava的容器 命令格式:docker stop 容器名称|容器编号
        docker stop myjava
        #启动(用于被stop停止了的容器)容器名为myjava的容器 命令格式:docker start -i 容器名称|容器编号
        docker start -i myjava
 
删除容器
    ◆ 删除容器命令
       #删除容器名为myjava的容器,前提是该容器必须是通过stop完全停止了的容器
        docker rm myjava

#查看所有的容器

        docker ps -a

Docker虚拟机实战的更多相关文章

  1. Docker 监控实战

    如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据: 2 / 3 的公司在尝试了 Docker 后最终使用了它 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 ...

  2. Docker虚拟化实战学习——基础篇(转)

    Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker   Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...

  3. Docker入门实战_正版电子书在线阅读_百度阅读

    Docker入门实战_正版电子书在线阅读_百度阅读 Docker入门实战

  4. Docker虚拟机理论

    Docker虚拟机架构     ◆ Docker架构                 Docker创建的所有虚拟实例共用同一个Linux内核,对硬件占用较小,属于轻量级虚拟机   Docker镜像与容 ...

  5. Docker swarm 实战-部署wordpress

    Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo 6imq8da3vcwvj2n499k ...

  6. docker虚拟机动态扩展内存

    需求:将一台docker虚拟机的内存从6G扩展到8G. 关于资源限制,docker使用的是cgroup,这里就不细说原理了,只记录一下操作方法. 1.先找到容器ID # docker ps 2.进入对 ...

  7. 基于docker/虚拟机的esp32远程工作流

    原文:基于docker/虚拟机的esp32远程工作流 工作流框图 背景说明 为什么需要这套工作流--为了满足高效和灵活的开发方式 因为我经常需要在公司和家里切换不同的电脑工作,所以编译环境需要在远程主 ...

  8. Docker下实战zabbix三部曲之一:极速体验

    对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践: 环境信息 ...

  9. Docker下实战zabbix三部曲之二:监控其他机器

    在上一章<Docker下实战zabbix三部曲之一:极速体验>中,我们快速安装了zabbix server,并登录管理页面查看了zabbix server所在机器的监控信息,但是在实际场景 ...

随机推荐

  1. GC调优

    Gc调优的目标:1.降低停顿时间 2.提高吞吐量 3.避免full-gc 调优可以使用的手段:1.各个内存区的大小调整:堆,年轻代,老年代,方法区等等2.减少短暂对象的存活时间,提高长期对象的复用率( ...

  2. python random 模块

    http://blog.csdn.net/m0_38061927/article/details/75335069

  3. #254 Reverse a String

    翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 这是一些对你有帮助的资源: Global String Object ...

  4. IO在Socket中的应用

    一.BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个连接 ...

  5. MapReduce实例学习

    https://blog.csdn.net/m0_37739193/article/details/77676859

  6. C++ 使用Lambda

    基础使用: C++中的Lambda表达式详解 c++11的闭包(lambda.function.bind) C++ lambda作为函数参数,实现通用的查找接口 C++11系列-lambda函数 进阶 ...

  7. [转]深入理解 GRE tunnel

    我以前写过一篇介绍 tunnel 的文章,只是做了大体的介绍.里面多数 tunnel 是很容易理解的,因为它们多是一对一的,换句话说,是直接从一端到另一端.比如 IPv6 over IPv4 的 tu ...

  8. 背水一战 Windows 10 (108) - 通知(Tile): application tile 基础, secondary tile 基础

    [源码下载] 背水一战 Windows 10 (108) - 通知(Tile): application tile 基础, secondary tile 基础 作者:webabcd 介绍背水一战 Wi ...

  9. Python 中的object takes no parameters错误

    Python是一门面向对象的语言,中我们首先创建一个类: class Student(object): def _init_(self,name,score): self.name = name se ...

  10. Chapter 4 Invitations——10

    "Mr. Cullen?" the teacher called, seeking the answer to a question that I hadn't heard. “C ...