01-08-docker-入门
01--入门-安装:
为什么出现(将项目和环境绑定,跨平台)?
核心思想,隔离,比如端口占用。互相隔离,互不影响。开发可以直接打包部署上线。
一款产品:开发-上线两套环境!应用环境,应用配置!
开发---- 运维。问题:我在我的电脑上可以运行!版本更新,服务可能各种问题
环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、 Ha.o… !费时费力。
例:
java-----apk-发布(应用商店)----使用apk—安装使用!
java — jar (环境) —打包项目带上环境(镜像)— ( 仓库:商店) —下载镜像— 运行!
给以上的问题,提出了解决方案!
优点:轻巧
vm,linux 原生镜像(相当于一台电脑),互相隔离,开启很慢
,隔离,镜像小(值要核心环境和命令,需要什么+什么,比如jdk+mysql),启动非常快
官网:
文档:
仓库:
虚拟机技术缺点:资源占用多,冗余步骤多,启动慢
容器技术:非完整的操作系统
和虚拟机的不同:
1、传统虚拟机,虚拟出一条硬件,运行个完整的操作系统,然后在这个系统上安装和运行软件
2、容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以轻便了
3、每个容器间是互相隔离,每个容器内都有一 个属于自己的文件系统,互不影响。
(开发,运维) 应用更快速的交付和部署
传统:一堆帮助文档,安装程序.
:打包镜像发布测试,一键运行
更便捷的升级和扩缩容
使用了之后,我们部署应用就和搭积木-样!
项目打包为-个镜像,扩展服务器A!服务器B
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度-致的。
更高效的计算资源利用:
是内核级别的虚拟化,可以再一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。
安装
的基本组成
客户端,服务器,仓库
镜像( image) :
镜像就好比是一个模板,可以通过这个模板来创建容器服务, 镜像===> run ==> 容器(提供服务器)
通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器( ) :
利用容器技术,独立运行一个或者一个组应用 ,通过镜像来创建的。启动,停止,删除等!
仓库( ) :
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库(默认国外)!
阿里云…都有容器服务器(配置镜像加速! )
安装
1、环境查看
[root@hadoop106 /]# uname -r
4.18.0-240.el8.x86_64
2、配置查看
[root@hadoop106 /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
3、卸载旧的
[root@ /]# yum
4、相关环境的安装
[root@ /]# yum -y yum-utils
5、设置镜像的仓库,默认国外,自定义使用国内
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、更新yum软件包索引
yum makecache
7、安装 -ce社区版,ee企业版
yum install docker-ce docker-ce-cli containerd.io
yum -y -ce --
yum -y -ce --
8、启动
systemctl start docker
查看启动是否成功
[root@hadoop106 /]# docker version
Client: Docker Engine - CommunityVersion: 20.10.7API version: 1.41Go version: go1.13.15Git commit: f0df350Built: Wed Jun 2 11:56:24 2021OS/Arch: linux/amd64Context: defaultExperimental: trueServer: Docker Engine - CommunityEngine:Version: 20.10.7API version: 1.41 (minimum version 1.12)Go version: go1.13.15Git commit: b0f5bc3Built: Wed Jun 2 11:54:48 2021OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.4.6GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285drunc:Version: 1.0.0-rc95GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7docker-init:Version: 0.19.0GitCommit: de40ad0
测试hello-world
查看镜像
docker images
卸载
yum remove docker-ce docker-ce-cli containerd.io
#docker模型工作路径
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
配置镜像加速
cd /etc/
vim .json
添加
{
"registry-mirrors":["https://6jq8k0c9.mirror.aliyuncs.com"",https://alzgoonw.mirror.aliyuncs.com"]
}
重启
-
cd /etc/
vim .json
添加
{
"registry-mirrors":["https://6jq8k0c9.mirror.aliyuncs.com"",https://alzgoonw.mirror.aliyuncs.com"]
}
重启
-
参考来自: