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. React中多行文本省略不生效原因

    在普通的前端项目中,在不考虑兼容问题的时候,可以用以下代码实现: overflow : hidden; text-overflow: ellipsis; display: -webkit-box; - ...

  2. 几种AutoLayout自动布局所经常使用的布局约束类型

    width表示约束ui控件的固定宽度 height表示约束ui控件的固定高度 Leading Space to Superview 与父视图的左边界线保持固定距离 Trailing Space to ...

  3. FFmpeg 移植 Android

    近期项目需要解析苹果的HLS流媒体协议,而FFmpeg从0.11.1“Happiness”版本开始,才增加了对HLS协议的支持.目前网上关于FFmpeg编译移植的文章有很多,但大多都是对旧版本的说明. ...

  4. NLog日志记录

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

  5. Core Java(五)

    类和对象&方法 ——类的定义 现实世界的事物 属性:人的身高,体重等 行为:人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量:就是事物的属性 成员方法:就是事物的行为    ...

  6. python爬虫:爬取读者某一期内容

    学会了怎么使用os模块 #!/usr/bin/python# -*- encoding:utf-8 -*- import requestsimport osfrom bs4 import Beauti ...

  7. VB入门在线视频教程大全学习

    课程目录 9分钟47秒 课时1第一课:怎么编写程序 14分钟1秒 课时1第十七课第1节:文件读写的几种方式 14分钟14秒 课时2第二课:什么是变量和变量类型 19分钟24秒 课时3第三课:变量的声明 ...

  8. 任何抛开业务谈大数据量的sql优化都是瞎扯

    周三去某在线旅游公司面试.被问到了一个关于数据量大的优化问题.问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接. 本人接触过单表数据量最大的就是将近两亿行历史数据( ...

  9. gbk编码

    GBK 编码   GBK编码范围:8140-FEFE,汉字编码范围见第二节:码位分配及顺序. GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准.GBK编码依然采用双字节编码方 ...

  10. Kattis - Eight Queens

    Eight Queens In the game of chess, the queen is a powerful piece. It can attack by moving any number ...