(一)Docker开篇:Docker介绍、安装、镜像加速
1. 什么是Docker
1.1 简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
1.2 应用场景
- Web 应用的自动化打包和发布
- 自动化测试和持续集成、发布
- 在服务型环境中部署和调整数据库或其他的后台应用
使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。
Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker将这个模型运用到自己的设计
中,唯一不同的是:集装箱运输货物,而Docker运输软件。
1.3 容器
- 灵活:即使是最复杂的应用也可以集装箱化。
- 轻量级:容器利用并共享主机内核。
- 可互换:您可以即时部署更新和升级。
- 便携式:您可以在本地构建,部署到云,并在任何地方运行。
- 可扩展:您可以增加并自动分发容器副本。
- 可堆叠:您可以垂直和即时堆叠服务。
2. Docker和虚拟机区别
传统虚拟机 | Docker容器 | |
---|---|---|
磁盘占用 | 几个GB到几十个GB左右 | 几个GB到几十个GB左右 |
CPU内存占用 | 虚拟操作系统非常占用CPU和内存 | Docker引擎占用极低 |
启动速度 | (从开机到运行项目)几分钟 | (从开启容器到运行项目)几秒 |
安装管理 | 需要专门的运维技术 | 安装、管理方便 |
应用部署 | 每次部署都费时费力 | 从第二次部署开始轻松简捷 |
耦合性 | 多个应用服务安装到一起,容易互相影响 | 每个应用服务一个容器,达成隔离 |
系统依赖 | 五 | 需求相同或相似的内核,目前推荐是Linux |
3. Docker 的核心
- 镜像: 一个镜像代表一个应用环境,他是一个只读的文件,如 mysql镜像,tomcat镜像,nginx镜像等
- 容器: 镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写
- 仓库: 用来存放镜像的位置,类似于maven仓库,也是镜像下载和上传的位置
- dockerFile: docker生成镜像配置文件,用来书写自定义镜像的一些配置
- tar: 一个对镜像打包的文件,日后可以还原成镜像
4. Docker安装与启动
4.1 Docker安装
# 1、yum 包更新到最新
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依
赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(我这里用的阿里云)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v
4.2 阿里云镜像加速
tip:ustc镜像加速移步:Docker(二)docker镜像加速
- 开通容器镜像服务
访问:https://help.aliyun.com/document_detail/60750.html
- 前往控制台
如果未开通则按照提示步骤开通,具体如下:
点击前往开通
点击设置密码
- 镜像加速
点击镜像加速,这里就会有加速器地址和具体配置了
接下来就搞个json文件配置即可,具体操作如下:
- 新建json文件
# 在etc目录下新建dorker文件夹:
mkdir /etc/docker
# 新建daemon.json文件并编辑
vi /etc/docker/daemon.json
- 在daemon.json文件中加入
{
"registry-mirrors": ["https://****.mirror.aliyuncs.com"]
}
这里换成你自己的加速地址,然后保存退出即可。
4.3 Docker启动、停止、自启动
# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:
systemctl restart docker
# 查看docker服务状态:
systemctl status docker
# 设置开机启动docker服务:
systemctl enable docker
希望可以帮助到大家,有什么不懂的欢迎下方评论留言,技术交流加Q:995062855(同微信)。
今天的分享就到这里,要去搬砖了。