简介

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

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

容器是完全使用沙箱机制,相互之间不会有任何接口.

docker的三大概念

镜像:
--理解为系统盘dvd镜像,轻量级的镜像文件 仓库:
--存储docker镜像的 容器:
--是基于镜像运行出的,容器实例

三大概念

Docker应用场景

1.本地依赖
--使用docker,可以节省大量时间.docker能提升开发者的开发效率,让我们快速搭建开发环境,开发环境的机器通常内存比较小,此前使用虚拟的时候,经常需要为开发环境的机器加内存,而通过 Docker 可以轻易的让几十个服务在 Docker 中跑起来。 2.搭建环境
--它能让你将运行环境和配置放在代码中然后部署,同一个Docker的配置可以在不同的环境中使用,这样就降低了硬件要求和应用环境之间耦合度 3.微服务
--微服务架构一一将一个整体的应用拆分成松耦合的单个体服务.你可以将每个服务打包为一个 docker 镜像并使用 docker-compose 来模拟生产环境(checkout docker networks)。最开始实践的时候可能会比较费时费力,但长远地来看,最终将产生巨大的生产力。 4.自动测试
--这里不是指在 Docker 中运行测试用例,而是将测试用例与镜像紧密运行在一起。当你针对一个 docker 镜像编写测试用例时会有一个很大的优势 5.部署过程
--许多主流的主机提供商都支持托管 docker,如果你拥有一个具有 shell 访问权限的专用节点/vm,那么事情将变得更容易。只需要设置好 docker,并在你想要的端口上运行你的镜像即可。 6.持续部署
--都说 Docker 天生适合持续集成/持续部署,在部署中使用 Docker,持续部署将变得非常简单,并会在进入新的镜像后重新开始。Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。 7.多租户环境
--Docker 有意思的一个使用场景是在多租户的应用中,它可以避免关键应用的重写。如果你将应用程序服务公开给多个租户(租户指一组用户,例如组织),使用单租户方案设计的应用程序如果用上了 sub-domain + docker 可以快速获得提供多租户的服务。 8.来自一台机器的而多个app
--ocker 仍可以很好地管理单个机器上的所有服务。你应该使用文件夹挂载来为每个基于数据的 docker 镜像保留数据。 9.扩容
--Docker 通过创建另一个容器来帮助你轻松地进行水平扩展。如果遇到巨大的高峰流量,Docker 可以帮助你解决问题 —— 只需添加更多的机器并增加负载均衡器背后运行的容器数量。

场景

Docker的优点

1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。
Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。 2、避免选择恐惧症
如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,
所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。 3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,
让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

Docker安装

1.安装docker,由于网速问题,选择阿里云的yum源下载

yum install docker -y

2.启动docker

systemct1 start docker

3.docker加速器,加速下载

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
会生成一个docker配置文件,路径是/etc/docker/daemon.json

4.配置了加速器,需要重启docker

systemct1 restart docker

Docker的基本命令学习


#下载docker镜像
docker pull hello-world
#运行docker镜像,产生容器实例 #运行docker镜像,ubuntu系统
docker run ubuntu #交互式的运行ubuntu 容器,进入容器空间内 docker run -it ubuntu /bin/bash
#参数解释
-i 交互式的命令操作
-t 开启一个终端提供访问
/bin/bash 指定shell解释器 #打包构建一个携带vim的centos镜像文件
1.先运行一个centos基础镜像
docker run -it centos /bin/bash
2.在容器空间内,安装vim
yum install vim -y
3.退出容器空间,提交这个容器,为新的镜像
docker commit 1d5698b91178 yuchao163/s17centos-vim #导出本地的镜像文件
docker save 0fc9d49cb739 > /opt/s17centos.tar.gz #导入镜像文件,
docker load < /opt/s17centos.tar.gz

#删除容器记录

docker rm  容器id 

#批量删除容器记录
docker rm `docker ps -aq` #强制删除所有容器记录 docker rm -f `docker ps -aq` #删除镜像记录 docker rmi 镜像id #批量删除镜像文件
docker rmi `docker images -aq`

改:

#修改docker镜像名,tag标记名
docker tag 镜像id 新的标记名 查: 运行过docker镜像后,会产生容器记录 #差看docker镜像的命令 docker image ls
docker images #等同于上述命令,查看镜像 #查看正在运行的容器进程,
docker container ls
docker ps #docker ps只能查看正在运行的容器
docker ps -a 查看所有的容器记录 #docker容器,必须有后台程序在运行,否则容器就退出 #查询docker镜像记录 docker search centos

改和查

linux之docker的更多相关文章

  1. 使用VS把ASP.NET 5的应用发布到Linux的Docker上

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:我相信未来应用程序的部署模式首选一定会是Docker,所以.NET社区的朋友也不应该忽 ...

  2. Linux(Manjaro) - Docker - MySQL 安装配置

    Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...

  3. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  4. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  5. linux --- 9. docker 容器 和 rabbitmq 队列

    一. docker 容器 1.docker是什么? .linux下容器技术有很多,docker是做的最杰出的一款 .docker能够支撑阿里双十一,京东618的业务,说明,性能,安全性不得差 .doc ...

  6. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  7. vs2017创建netcore项目,部署到linux的docker容器里面

    开发环境 1.win10下面安装VS2017 2.linux安装Ubuntu16.4系统 步骤: 第一步:linux安装docker容器 docker中文文档,里面有详解的docker介绍及讲解,建议 ...

  8. Linux下docker的安装

    前言: 因为之前在自己的mac上直接使用HomeBrew的包管理安装的,使用brew install docker即可,这种方法简单,但最近想尝试在Linux下安装,费了一些时间,主要是启动docke ...

  9. 本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

    1.准备工作 环境 本地: Windows.Docker 代码仓库:Git 服务器:Linux.Docker 前提准备 创建个有dockerfile文件的dotnet core 3 web项目 新建一 ...

  10. Linux 使用 docker 下搭建xunsearch 搜索引擎服务

    Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...

随机推荐

  1. bootstrap--响应式框架页面环境配置

    那就目录结构 页面环境代码: <!DOCTYPE html> <html lang="zh-CN"> <head> <!--默认编码--& ...

  2. poj 2318 TOYS(计算几何 点与线段的关系)

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12015   Accepted: 5792 Description ...

  3. 读书笔记--Spring in Action 目录

    1.Spring之旅 1.1 简化java 开发 1.1.1 激发pojo 的潜能 1.1.2 依赖注入1.1.3 应用切面1.1.4 使用模板消除样板式代码1.2 容纳你的bean1.2.1 与应用 ...

  4. Windows下Git的下载、安装、设置用户名和邮箱、创建版本库等

    Git官网:https://git-scm.com/ 一.Git下载 官网首页下载,当前最新版本:2.24.1 本人下载的是Git for Windows版本:Git-2.24.1.2-64-bit. ...

  5. java窗体swing使用jlabel显示图片

    Icon icon = new ImageIcon("src\\resource\\" + jTFimgName.getText()); jLabColor.setIcon(ico ...

  6. fastjson map转json

    Map map = new HashMap(); map.put("name", "老三"); map.put("age", 12); St ...

  7. 玩转Spring Boot 自定义配置、导入XML配置与外部化配置

    玩转Spring Boot 自定义配置.导入XML配置与外部化配置       在这里我会全面介绍在Spring Boot里面如何自定义配置,更改Spring Boot默认的配置,以及介绍各配置的优先 ...

  8. 【洛谷】P1427 小鱼的猜数游戏

    P1427 小鱼的数字游戏 题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0 ...

  9. web前端学习(三)css学习笔记部分(5)-- CSS动画--页面特效、HTML与CSS3简单页面效果实例

    CSS动画--页面特效部分内容目前仅仅观看了解内容,记录简单笔记,之后工作了进行内容的补充 7.  CSS动画--页面特效 7.1  2D.3D转换 7.1.1  通过CSS3转换,我们能够对元素进行 ...

  10. [Vue CLI 3] @vue/cli-plugin-eslint 源码分析

    熟悉 eslint-loader 的同学一般如下配置: 设置一下几项: test : A condition that must be met(一般是处理对应文件的正则) exclude : A co ...