Docker的学习(简介+使用)

Docker简介

官网地址:Docker官网

  1. Docker简介
    1. Docker是一个开源的应用容器引擎,基于go语言,并遵从Apache2.0协议开源
    2. Docker可以让开发者打包应用依赖包到一个轻量级、可移植的容器中,然后发布到任何linux上,也可以实现虚拟化。
    3. 容器完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低
  2. Docker应用场景
    1. web应用的自动化打包和发布;
    3. 自动化测试和持续集成、发布;
    4. 在服务型环境中部署和调整数据库或其他后台的应用
  3. Docker优点
    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
    1. 快速,一致地交付您的应用程序
    Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。
    容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:
    您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。
    他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。
    当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。
    测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。
    2. 响应式部署和扩展
    Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
    Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
    3. 在同一硬件上运行更多工作负载
    Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。

Docker组成

  1. Docker 守护进程
    Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信。

  2. Docker 客户端
    Docker 客户端,实际上是 docker 的二进制程序,是主要的用户与 Docker 交互方式。它接收用户指令并且与背后的 Docker 守护进程通信,如此来回往复。

  3. Docker 内部
    要理解 Docker 内部构建,需要理解以下三种部件:
    Docker 镜像 - Docker images
    Docker 仓库 - Docker registeries
    Docker 容器 - Docker containers

Docker 镜像
Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。UnionFS 允许独立文件系统中的文件和文件夹(称之为分支)被透明覆盖,形成一个单独连贯的文件系统。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新 的层被添加或升级了。现在你不用重新发布整个镜像,只需要升级,层使得分发 Docker 镜像变得简单和快速。

Docker 仓库
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。Docker 仓库是 Docker 的分发部分。

Docker 容器
Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。Docker 容器可以运行、开始、停止、移动和删除。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是 Docker 的运行部分。

Docker的使用

Docker镜像的使用

  1. 列出Docker镜像
docker images 
可以列出本地的docker镜像
  1. 获取新的镜像
当我们本地主机使用不存在的镜像,Docker就自动下载这个镜像,命令docker pull
例如:docker pull (ubuntu:13.10)
  1. 查找镜像
命令
docker search (mysql)

在这里插入图片描述
其中:
NAME:镜像仓库的名称
DESCRIPTION:镜像描述
STARS:点赞量
OFFICIAL:是否是docker官方发布
AUTOMATED:是都在懂构建

  1. 拉取镜像
docker pull centod/mysql-57-centos7
  1. 更新镜像
更新镜像之前,我们需要使用镜像创建一个容器
命令:docker run -t -i ubuntu:15.10 /bin/bash
再在运行的容器内使用apt-get update命令进行更新

容器使用

  1. 重启容器、
docker restart <容器 id>
  1. 进入容器
docker exec -it <容器名称/ID> /bin/bash
  1. 导出、导入容器
导出容器
	docker export <容器 id> >ubuntu.tar
导入容器
	cat docker/ubuntu.tar | docker import - test/ubuntu:v1 
  1. 删除容器
docker rm -f <容器 id>
  1. 清理所有已经停掉的容器
docker container prune
  1. 运行一个web应用
docker pull training/webapp #载入镜像
docker run -d -p training/webapp python app.py
-d:容器后台运行
-p:将容器内部使用的网络端口随机映射到宿主机上
  1. 查看docker的内部进程
docker top wizardly_chandrasekhar

容器运行

  1. docker hello world
docker允许你在容器内运行应用程序,使用docker run命令来在容器内运行一个应用程序,输出hello world
命令:docker run ubuntu:15.10 /bin/echo "hello world"
以上命令解释:docker以ubuntu15.10镜像创建一个新容器,然后在容器执行bin echo “hello world”,然后输出结果。
  1. 退出容器
exit或者ctrl+d
  1. 后台模式启动容器
docker run -d  ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
  1. 停止容器
docker stop <容器 id>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值