Docker初识及常用命令

Docker介绍

Docker是一个可以用来装应用的容器。官网:www.docker.com。
Docker开源,托管在github上。
Docker跨平台,支持Windows、Macos、Linux。
通过Docker这种虚拟化技术,我们可以物理机的资源进行更加合理有效的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立的“虚拟计算机”。

Docker思想

  • 集装箱,容器
  • 标准化
    • 运输方式
    • 存储方式
    • API接口
  • 隔离

Docker优势

  • Docker把操作系统、JDK、Tomcat、代码、配置放到集装箱,放入鲸鱼中,解决运行环境不一致问题。
  • 限制某些程序内存
  • 服务器扩展

相对于VMware这种虚拟化技术,Docker拥有着显著的优势:
1.启动速度快,Docker容器启动操作系统在秒级就可以完成,而VMware却是达到分钟级。
2.系统资源消耗低,一台Linux服务器可以运行成千上百个Docker容器,而VMware大概只能同时运行10个左右。
更轻松的迁移和扩展,由于Docker容器比VMware占用更少的硬盘空间,在需要搭建几套软件环境的情况下,对安装好的Docker容器进行迁移会更快捷,更方便。而且Docker容器几乎可以在任意的平台上运行,包括虚拟机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让用户将一个应用程序从一个平台直接迁移到另一个平台。

使用Docker,开发人员只需要关注于软件应用开发,运维人员只需要关心如何管理容器。这样的话,就可以避免在以往开发环境中经常出现的环境不一致问题,比如开发人员在开发环境运行应用程序是正常的,但是同样的代码部署到生产环境就不行了,这种问题出现的最大原因就是环境的不一致造成的。而现在通过Docker容器,开发人员在开发&测试时使用的Docker容器环境,可以直接提交给运维人员,由运维人员在生产环境中,直接拿着开发人员搭建好的Docker容器,并在其中部署应用,避免开发环境和生产环境的不一致性。

Docker核心

  • 镜像(Image)
  • 仓库(Container)
  • 容器(Respository)

镜像

Docker镜像(Image)就是一个只读的模板。
Docker镜像可以用来创建Docker容器。
Docker提供了一个很简单的机制来创建镜像或者更新已有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

容器

Docker利用容器(Container)来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看成是一个简易版的Linux环境(包括ROOT用户权限、进程空间、用户空间、网络等)和运行在其中的应用程序

仓库

Registry是集中存放镜像文件的场所。
仓库(Repository)是对于其中的镜像进行分类管理。

一个Registry中会有多个Repository。
一个Repository中会有多个不同tag的Image。

Registry分为公有(public)和私有(private)两种形式。
- 最大的公有Registry是Docker Hub,存放了数量庞大的镜像供用户下载使用。
- 国内的公开Registry包括USTC、网易云、DaoCloud、AliCloud等,可以供大陆用户更稳当快捷的访问。
- 用户可以在本地创建一个私有Registry。

用户创建了自己的镜像之后就可以使用push命令将它上传的公有Registry或者私有Registry中,这样下次在另一台机器上使用这个镜像的时候,只需要从Registry上pull下来运行就可以了。

Docker仓库:
- Docker提供服务地址:hub.docker.com
- 网易:https://c.163.com/

Docker的安装

Docker基于CentOS 7.x上面的安装。
查看方式在7.x后,ipconfig命令被废除,使用ip addr命令。

安装命令:yum install docker
启动命令:systemctl start docker
停止命令:systemctl stop docker

Docker镜像

拉取镜像

从一些公用仓库中拉取镜像到本地。
拉取镜像命令:docker pull[options] NAME:[:TAG]

从ustc拉取

在宿主机器编辑文件:vi /etc/docker/daemon.json

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

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

最后,需要重启docker服务

systemctl restart docker.service

常用命令

列出镜像:docker images
删除镜像:doecker rmi 镜像
导入镜像:docker save 镜像 > /地址/文件名.tar.gz
导出镜像:docker load < /地址/文件名.tar.gz

Docker容器

启动容器

以交互方式启动容器:docker run -it –name 容器名称 镜像 /bin/bash

以守护进程方式启动容器:docker run -d –name 容器名称 镜像

常用命令

停止容器:docker stop 容器名称或者容器ID
重启容器:docker start 容器名称或者容器ID
删除指定容器:docker rm 容器名称或者容器ID
删除所有容器:docker rm ‘docker ps -a -q’
查看正在运行的容器:docker ps
查看历史运行过的容器:docker ps -a
查看最近运行过的容器:docker ps -l

Docker应用案例

搭建Tomcat服务

docker run -d –name my-tomcat -p 8888(端口随意,不能冲突):8080 镜像

部署web应用

1、将war包上传到宿主机器
2、通过docker cp命令将宿主机器的war包上传到容器中tomcat的webapps目录下。
3、tomat会自动热部署,直接访问web应用的路径即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值