Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker核心组件以及安装

docker主机(HOST):安装了Docker程序的机器(Docker直接安装在操作系统上的)

docker客户端(Client):操作docker主机

docker仓库(Registry):用来保存打包好的软件镜像

docker镜像(Image):软件打好包的镜像,放到docker的仓库中

docker容器(Container):镜像启动后的实例(5个容器启动5次镜像)

docker的步骤:

1、安装Docker

2、去Docker仓库找到这个软件对应的镜像;

3、使用Docker运行的这个镜像,镜像就会生成一个容器

4、对容器的启动停止,就是对软件的启动和停止

Win10安装Docker

现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。

开启 Hyper-V

程序和功能

启用或关闭Windows功能

选中Hyper-V

1、安装 Toolbox

最新版 Toolbox 下载地址: https://www.docker.com/get-docker

点击 Get Docker Community Edition,并下载 Windows 的版本:

2、运行安装文件

双击下载的 Docker for Windows Installe 安装文件,一路 Next,点击 Finish 完成安装。

安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。

桌边也会出现三个图标,入下图所示:

我们可以在命令行执行 docker version 来查看版本号,docker run hello-world 来载入测试镜像测试。

如果没启动,你可以在 Windows 搜索 Docker 来启动:

启动后,也可以在通知栏上看到小鲸鱼图标:

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

Linux系统安装Docker

1.安装Linux系统

2.查看centos内核版本。Docker要求centos的内核版本必须高于3.10。使用命令:uname -r 查看内核版本。如果低于3.10,使用命令:yum update 升级内核版本。

3.输入命令:yum install docker 。安装Docker

4.输入y确认安装

5.启动Docker。命令:systemctl start docter。

6.查看docker版本号。命令:docker -v

7.开机启动docker。命令:systemctl enable docker。

8.停止docker。命令:systemctl stop docker

Docker镜像的使用

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

1.我们可以使用 docker images 来列出本地主机上的镜像。

各个选项说明:

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

2.获取一个新的镜像

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。

例如:docker pull ubuntu:13.10(冒号后面的为tag)

3.查找一个镜像

可以从 Docker Hub 网站来搜索镜像,Docker Hub.  也可以使用 docker search 命令来搜索镜像。

4.删除一个镜像

可以删除一个已经存在的镜像,命令:docker rmi image-id

Docker容器操作

软件镜像---运行镜像----产生一个容器。

步骤:

  1. 搜索镜像 。 docker search
  2. 下载镜像。   docker pull
  3. 根据镜像启动容器 。  docker run --name mytomcat -d -P  tomcat:latest  (-d 后台运行;  -P  将容器内部使用的网络端口映射到我们使用的主机上。主机端口:容器内部端口)
  4. 查看运行的容器 。 docker ps
  5. 查询所有的容器,包括运行的和停止的。  docker ps -a
  6. 停止运行中的容器。  docker stop NAMES  或者  docker stop  container-id
  7. 开始一个容器。  docker start container-id
  8. 删除一个容器。 docker rm container-id
  9. 查看容器日志。 docker logs  NAMES 或者 docker logs  container-id

Docker安装Mysql

1.docker 中下载  ==>  mysql docker pull mysql

2.启动  ==> docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql (需要对外开放和设置密码)

3.进入容器 ==> docker exec -it mysql bash

4.登录 ==>  mysql mysql -u root -p

SpringBoot(五) 番外---Docker的更多相关文章

  1. JVM学习总结五(番外)——VisualVM

    距离上次介绍Jconsole已经时隔两周了,这期间由于工作中要用go来做一个新项目,所以精力都用在入门go上了,不过发现go语言用起来真的挺不错的,比python感觉还好点,大家没事可以了解下.   ...

  2. JVM学习总结五(番外)——JConsole

    之前本来打算结合自己写的小程序来介绍JConsole和VirtualVM的使用的,但是发现很难通过一个程序把所有的场景都体现出来,所以还是决定用书中的典型小例子来讲更加清晰. 一.JConsole的基 ...

  3. SpringBoot | 番外:使用小技巧合集

    前言 最近工作比较忙,事情也比较多.加班回到家都十点多了,洗个澡就想睡觉了.所以为了不断更太多天,偷懒写个小技巧合集吧.之后有时间都会进行文章更新的.原创不易,码字不易,还希望大家多多支持!话不多说, ...

  4. docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  5. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  6. [置顶] think in java interview番外篇-谈程序员如何修练英语

    一.程序员对英语能力的重视度和能力要求应该是在各行各业中排在比较靠前的 这样说吧,英语程度的好坏直接影响着一个程序员的编程.开发.创新能力. 道理很简单: 1. 计算机和软件是用英语创造出来的 2. ...

  7. [uboot] (番外篇)uboot之fdt介绍

    http://blog.csdn.net/ooonebook/article/details/53206623 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...

  8. Golang Gin实践 番外 请入门 Makefile

    Golang Gin实践 番外 请入门 Makefile 原文地址:Golang Gin实践 番外 请入门 Makefile 前言 含一定复杂度的软件工程,基本上都是先编译 A,再依赖 B,再编译 C ...

  9. Opengl_入门学习分享和记录_番外篇01(MacOS上如何在Xcode 开始编辑OpenGL)

    写在前面的废话: 哈哈 ,我可真是勤勉呢,今天又来更新了,这篇文章需要大家接着昨天的番外篇00一起食用! 正文开始: 话不多说,先看代码. 这里主要全是使用的glfwwindowhint 这个函数,他 ...

随机推荐

  1. Jenkins+Docker部署Maven聚合工程

    这几天,把公司的预发布环境,改成docker部署,遇到了一些坑,有jenkins里的部署脚本的问题,也有harbor仓库的问题,还有docker远程访问的问题,还有DooD....一堆坑 Jenkin ...

  2. 算法入门经典-第六章 例题6-21 SystemDependencies

    题意:软件组件之间会有依赖关系,比如你下一个Codeblocks你也得顺带着把编译器给下上.你的任务是模拟安装和卸载软件组件的过程.有以下五种指令,如果指令为“END”则退出程序:若为以下四种指令,则 ...

  3. tomcat开启https服务

    一.创建证书 证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书:本教程由于是演示所以就自己用JDK自带的keytool工具生成证书:如果以后真正在产品环境中使用肯定要去证 ...

  4. NLog日志记录

    配置NLog         NLog支持 .Net 4.5 以及以上版本!              首先去下载NLog的DLL下载地址:http://nlog-project.org/downlo ...

  5. Memcache 一些经验和技巧

    Memcached一些特性和限制 在Memcache中可以保存的item数据量是没有限制的,只要内存足够. Memcache单进程最大使用内存为2g,要使用更多的内 -存,可以分多个端口开启多个Mem ...

  6. css3之BFC、IFC、GFC和FFC

    CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. What's FC?一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它 ...

  7. hdu 1072 广搜(逃离爆炸迷宫)

    题意: 在n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器.定时炸弹的时间是6,人走一步所需要的时间是1.每次可以上.下.左.右移动一格.当人走到4时如果炸弹的时间 ...

  8. MySQL---Day2

    -- 转载:http://www.cnblogs.com/yuanchenqi/articles/6357507.html CREATE TABLE employee1( id TINYINT PRI ...

  9. Node Sass does not yet support your current environment: Windows 64-bit然如何解决,cnpm此问题解决方法

    这里直接说了node sass不支持当前环境,所以可以直接删掉原来不支持本机的node sass,再重新安装就行了 删除: npm uninstall --save node-sass 安装: npm ...

  10. codevs 3945 完美拓印 (KMP)

    题目大意:给你一个神奇的印章,他左右下三个面都是直的,上面是凸凹不平的面(凸凹都平行于别的面).然后给你一个轮廓线,如果一个面能与轮廓线完全重合,可以把印章的这个沿着轮廓线拓印,求所有的拓印方案. 把 ...