Docker安装配置教程
Docker公开课
1 Docker介绍
1.1 Docker是什么
云计算\云服务
IAAS(基础设施即服务)、PAAS(平台即服务)、SAAS(软件即服务)
Docker到底是什么呢?
Docker就是一种虚拟化容器技术。
开发项目:
Tomcat
MySQL
通过Docker这种虚拟化技术,我们可以物理机的资源进行更加合理有效的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立的“虚拟计算机”。
基于操作系统创建出一些相互独立的、功能虚拟化技术有多种实现方式,有基于硬件进行虚拟化的技术,而Docker只是针对操作系统进行虚拟化,对于硬件资源的使用率更低。
相对于VMware这种虚拟化技术,Docker拥有着显著的优势:
- 启动速度快,Docker容器启动操作系统在秒级就可以完成,而VMware却是达到分钟级。
- 系统资源消耗低,一台Linux服务器可以运行成千上百个Docker容器,而VMware大概只能同时运行10个左右。
- 更轻松的迁移和扩展,由于Docker容器比VMware占用更少的硬盘空间,在需要搭建几套软件环境的情况下,对安装好的Docker容器进行迁移会更快捷,更方便。而且Docker容器几乎可以在任意的平台上运行,包括虚拟机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让用户将一个应用程序从一个平台直接迁移到另一个平台。
1.2 Docker能做什么
docker可以给开发人员和运维人员带来帮助。
项目拥有多套环境:开发环境、测试环境、预生产环境、生成环境。
环境(中间件,具体比如Tomcat、MySQL)不一致
我们之所以要学习Docker,那是因为Docker是一门神奇的技术!
使用Docker,开发人员只需要关注于软件应用开发,运维人员只需要关心如何管理容器。这样的话,就可以避免在以往开发环境中经常出现的环境不一致问题,比如开发人员在开发环境运行应用程序是正常的,但是同样的代码部署到生产环境就不行了,这种问题出现的最大原因就是环境的不一致造成的。而现在通过Docker容器,开发人员在开发&测试时使用的Docker容器环境,可以直接提交给运维人员,由运维人员在生产环境中,直接拿着开发人员搭建好的Docker容器,并在其中部署应用,避免开发环境和生产环境的不一致性。
当然,Docker的强大远远不至于此,而作为软件开发人员的我们,更关注的是如何利用它来搭建一套统一的软件开发环境。
对比传统虚拟机总结:
接下来,我们将会一步一步的揭开Docker的神秘面纱!
1.3 网络项目架构
1.4 Docker基本概念
docker包含三个基本概念:
l 镜像(Image)
l 容器(Container)
l 仓库(Repository)
理解了这三个概念,就理解了docker的整个生命周期了!
1.4.1 镜像
Docker镜像(Image)就是一个只读的模板。
Docker镜像可以用来创建Docker容器。
Docker镜像和Docker容器的关系,类似于java中class类与对象之间的关系。
Docker提供了一个很简单的机制来创建镜像或者更新已有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
1.4.2 容器
Docker利用容器(Container)来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看成是一个简易版的Linux环境(包括ROOT用户权限、进程空间、用户空间、网络等)和运行在其中的应用程序。
1.4.3 Registry
Registry是集中存放镜像文件的场所。
仓库(Repository)是对于其中的镜像进行分类管理。
一个Registry中会有多个Repository。
一个Repository中会有多个不同tag的Image。
比如名称为centos的Repository仓库下,有tag为6或者7的Image镜像。
Registry分为公有(public)和私有(private)两种形式。
l 最大的公有Registry是Docker Hub,存放了数量庞大的镜像供用户下载使用。
l 国内的公开Registry包括USTC、网易云、DaoCloud、AliCloud等,可以供大陆用户更稳当快捷的访问。
l 用户可以在本地创建一个私有Registry。
用户创建了自己的镜像之后就可以使用push命令将它上传的公有Registry或者私有Registry中,这样下次在另一台机器上使用这个镜像的时候,只需要从Registry上pull下来运行就可以了。
2 Docker安装
官方网站上有各种环境下的安装指南,比如:CentOS、Ubuntu和Debian系列的安装。
而我们现在主要讲解的是基于CentOS 7.x上面的安装。
注意:CentOS 7的安装比较耗费时间,所以不在本教程之内,但是资料中已经准备了CentOS 7的安装镜像以及安装文档,课下可以参考着文档进行安装。
安装好CentOS之后,需要通过SSH客户端工具访问CentOS操作系统,所以需要在CentOS的系统界面中查看IP地址,查看方式在7.x后,ipconfig命令被废除,使用ip addr命令。
一切完毕之后,只需要执行以下命令即可完成Docker的安装:
yum install docker
systemctl start docker
3 Docker镜像
3.1 拉取镜像
我们可以使用命令从一些公用仓库中拉取镜像到本地,下面就列举一些常用的公用仓库拉取镜像的方式!
3.1.1 从docker hub拉取
下面的例子将从Docker Hub仓库下载一个CentOS 7版本的操作系统镜像。
docker pull centos:7
这是docker默认的公用仓库,不过缺点是国内下载会比较慢。
3.1.2 从ustc拉取(建议使用)
在宿主机器编辑文件:vi /etc/docker/daemon.json
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
最后,需要重启docker服务
systemctl restart docker.service
之后再使用pull命令拉取镜像,这时候是从ustc获取镜像,而且速度杠杠的。
3.2 列出镜像
docker images
3.3 删除镜像
docker rmi 镜像
3.4 导入导出镜像
导出镜像:docker save 镜像 > /root/xx.tar.gz
导入镜像:docker load < /root/xx.tar.gz
4 Docker容器
4.1 启动容器
以交互方式启动容器:docker run -it --name 容器名称 镜像 /bin/bash
以守护进程方式启动容器:docker run -d --name 容器名称 镜像
4.2 停止容器
docker stop 容器名称或者容器ID
4.3 重启容器
docker start 容器名称或者容器ID
4.4 删除容器
删除指定容器:docker rm 容器名称或者容器ID
删除所有容器:docker rm ‘docker ps -a -q’
4.5 查看容器
docker ps :查看正在运行的容器
docker ps -a:查看历史运行过的容器
docker ps -l:查看最近运行过的容器
5 Docker应用
5.1 搭建Tomcat服务
docker run -d --name my-tomcat -p 8888:8080 镜像
5.2 部署web应用
1、 将war包上传到宿主机器
2、 通过docker cp命令将宿主机器的war包上传到容器中tomcat的webapps目录下。
3、 tomat会自动热部署,直接访问web应用的路径即可。
Docker安装配置教程的更多相关文章
- mac系统Docker安装Redis教程
在之前介绍过mac系统安装docker,以及docker安装mysql的傻瓜式教程,如果有需要参考的朋友,可以看下面文章: MacOS安装Docker傻瓜式教程 mac系统下docker安装配置mys ...
- docker安装配置gitlab详细过程
docker安装配置gitlab详细过程 获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...
- QT开发环境安装配置教程
QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...
- docker安装配置
########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker ...
- centos7 docker 安装配置
docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...
- 2018超详细sublime text3+python3.x安装配置教程(附常用插件安装教程)
导读 本文是关于2018年7月最新版sublime text3+pythin3.x下载及安装配置教程,sublime text3版本为3176,python版本为3.7,安装环境是基于windows1 ...
- centos7命令行和图形界面的相互切换(附centos7安装配置教程)
一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...
- MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)
MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1) VMawre-workstation版本包 地址: https://m ...
- Windows基础环境_安装配置教程(Windows7 64、JDK1.8、Android SDK23.0、TortoiseSVN 1.9.5)
Windows基础环境_安装配置教程(Windows7 64.JDK1.8.Android SDK23.0.TortoiseSVN 1.9.5) 安装包版本 1) JDK版本包 地址: htt ...
随机推荐
- 北京联通光猫WO-36(HG220GS-U)改为桥接模式
家里弄了个极路由,想在公司里去操作路由器,交换文件.提前下载电影什么的,因此需要光猫改为桥接模式,让路由器拨号 由于WO-36(HG220GS-U)这个型号的光猫固件升级后(我的是3.x)不能用工程账 ...
- Qt之QTemporaryFile
简述 QTemporaryFile类是操作临时文件的I/O设备. QTemporaryFile用于安全地创建一个独一无二的临时文件.临时文件通过调用open()来创建,并且名称是唯一的(即:保证不覆盖 ...
- [MST] Create an Entry Form to Add Models to the State Tree
It is time to add new entries to the wishlist. We will achieve this by reusing forms and models we'v ...
- iOS AES的加密解密
主要是要得到加密后的原来的字符创,MD5无法得到原有的,仅仅能用AES+base64 要用GTMBase64这个能够自己去下载, 主要看另外2个类文件. #import <Foundation/ ...
- 一、奇妙插件Tampermonkey的简单安装教程
奇妙插件Tampermonkey的简单安装教程 1.下载 对于浏览器而言,一般的功能并不能满足"特殊用户的需求".这时候就须要插件来帮忙了.那么讲到插件的支持多又常见的浏览器必定要 ...
- GridView中使用CheckBox
asp.net中checkbox是向server提交时才干触发事件 把该控件的autopostback设置为true.才干响应事件 protected void Checkbox_CheckedCh ...
- less03 混合
less //基本混合 .font_hn{ color: red; font-family: microsoft yahei, "黑体", Arial, Simsun, " ...
- 语法错误: unexpected ''); ?></span></span></h2> ' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';'
语法错误: unexpected ''); ?></span></span></h2>' (T_CONSTANT_ENCAPSED_STRING), expe ...
- [luogu P3360] 偷天换日 解题报告(树形DP)
题目链接:https://www.luogu.org/problemnew/show/P3360 题解: 首先我们把边上的消耗放到向下的点上,如果是叶子节点的话就先做一次0/1背包 发现这是一颗二叉树 ...
- Linux环境下源码安装PostgreSQL
1.下载PostgreSQL源码包,并保存到Linux操作系统的一个目录下 2.解压PostgreSQL源码包 :tar zxvf postgresql-9.2.4.tar.gz 或 tar jxvf ...