Docker学习轨迹一(docker简介与安装)
2021/11/10 23:43:53
本文主要是介绍Docker学习轨迹一(docker简介与安装),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这里写自定义目录标题
- Docker简介
- 什么是Docker?
- Docker基本组成
- Docker与操作系统比较
- Docker版本
- Docker的优点
- Docker安装
- Docker官网
- 安装的硬件要求
- centos虚拟机的系统配置
- Docker的安装
- 安装阿里云镜像加速器
- docker命令
- docker命令分类
Docker简介
什么是Docker?
当人们说“Docker”时,他们通常是指 Docker Engine,它是一个客户端 - 服务器应用程序,由 Docker
守护进程、一个REST API指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过封装REST API)。Docker Engine 从 CLI 中接受docker 命令,例如 docker run 、docker ps 来列出正在运行的容器、docker images 来列出镜像,等等。
- docker是一个软件,可以运行在window、linux、mac等各种操作系统上。
- docker 是一个开源的应用容器引擎,基于Go 语言开发并遵从 Apache2.0 协议开源,项目代码托
管在github上进行维护 - docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任
何流行的 Linux 机器上。 - 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker基本组成
- docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
- docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似
maven) - docker镜像(Images):软件打包好的镜像;放在docker仓库中;
- docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
Docker与操作系统比较
docker是一种轻量级的虚拟化方式。与传统操作系统技术的特性比较如下表:
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
性能 | 接近原生 | 较弱 |
内存代价 | 很小 | 较多 |
硬盘使用 | 一般为MB | 一般为GB |
运行密度 | 单机支持上千个容器 | 一般几十个 |
隔离性 | 安全隔离 | 完全隔离 |
迁移性 | 优秀 | 一般 |
传统的虚拟机方式提供的是相对封闭的隔离。Docker利用Linux系统上的多种防护技术实现了严格的隔
离可靠性,并且可以整合众多安全工具。从 1.3.0版本开始,docker重点改善了容器的安全控制和镜像
的安全机制, 极大提高了使用docker的安全性。
Docker版本
docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业
版),本教程使用社区版(CE)。
Docker的优点
一款产品: 开发–上线 两套环境!应用环境,应用配置!开发 — 运维。 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验十分大!!! 环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop…) !费事费力。发布一个项目( jar + (Redis MySQL JDK ES) ),项目能不能带上环境安装打包!之前在服务器配置一个应用的环境 Redis MySQL JDK ES Hadoop 配置超麻烦
了,而且不能够跨平台。
-
开发环境Windows,最后发布到Linux!
传统:开发jar,运维来做!
现在:开发打包部署上线,一套流程做完! -
应用更快速的交付和部署
传统:帮助文档,安装程序。
Docker:打包镜像发布测试一键运行。 -
更便捷的升级和扩缩容
使用了 Docker之后,我们部署应用就和搭积木一样
项目打包为一个镜像,扩展服务器A!服务器B -
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的 -
更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致
Docker安装
Docker官网
docker官网地址:
https://www.docker.com
docker官方文档地址:
https://docs.docker.com/
阿里云开发者平台官网地址:
(可以参考阿里云官网提供的docker安装教程进行安装)
https://developer.aliyun.com/article/110806
安装的硬件要求
当我们安装 Docker 的时候,会涉及两个主要组件:
- Docker CLI:客户端
- Docker daemon:有时也被称为“服务端”或者“引擎”
docker硬件安装最好能够满足一下条件:
序号 | 硬件 | 要求 |
---|---|---|
1 | CPU | 推荐2核以上 |
2 | 内存 | 至少2G |
3 | 硬盘 | 至少50G |
4 | 系统 | docker及K8S集群推荐各位小伙伴使用centos7.8版本 |
centos虚拟机的系统配置
- 查看centos系统版本命令:
cat /etc/centos-release
- 配置阿里云yum源
#下载安装wget yum install -y wget #备份默认的yum mv /etc/yum.repos.d /etc/yum.repos.d.backup #设置新的yum目录 mkdir -p /etc/yum.repos.d #下载阿里yum配置到该目录中,选择对应版本 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #更新epel源为阿里云epel源 mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #重建缓存 yum clean all yum makecache #看一下yum仓库有多少包 yum repolist
- 升级系统内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install -y kernel-lt grep initrd16 /boot/grub2/grub.cfg grub2-set-default 0 reboot
- 查看系统内核命令
uname -r uname -a
- 查看CPU命令
lscpu
- 查看内存命令
free free -h
- 查看硬盘信息
fdisk -l
- 关闭防火墙
systemctl stop firewalld systemctl disable firewalld
- 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux setenforce 0
- 网桥过滤
vi /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1 net.ipv4.ip_forward=1 net.ipv4.ip_forward_use_pmtu = 0 #生效命令 sysctl --system
- 开启命令补全
#安装bash-completion yum -y install bash-completion bash-completion-extras #使用bash-completion source /etc/profile.d/bash_completion.sh
- 上传文件功能
yum -y install lrzsz #1.鼠标拖拽上传文件 #2.下载文件 #2.1下载一个文件 sz filename #2.2下载多个文件 sz filename1 filename2 #2.3下载dir目录下所有文件,不包含dir下的文件夹 sz dir/*
Docker的安装
# step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新并安装 Docker-CE sudo yum makecache fast sudo yum -y install docker-ce # Step 4: 开启Docker服务 sudo service docker start 注意:其他注意事项在下面的注释中 # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。 # vim /etc/yum.repos.d/docker-ce.repo # 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1 # # 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # yum list docker-ce.x86_64 --showduplicates | sort -r # Loading mirror speeds from cached hostfile # Loaded plugins: branch, fastestmirror, langpacks # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable # Available Packages # Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos) # sudo yum -y install docker-ce-[VERSION] # 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。 # yum list docker-ce-selinux- --showduplicates | sort -r # sudo yum -y install docker-ce-selinux-[VERSION] # 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令 # 经典网络: # sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo # VPC网络: # sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
安装阿里云镜像加速器
镜像加速器能加快我们对docker镜像的下载速度,安装与否凭各位心情
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://复制自己的加速器地址.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker
docker命令
docker命令分类
本章节记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,根据docker官网案例。
docker官网地址:https://docs.docker.com/engine/reference/run/
总的来说,分为一下几种:
#docker环境信息 docker -v docker info docker version #容器生命周期管理 docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause] #容器操作管理 docker [ps|inspect|top|attach|wait|export|port|rename|stat] #容器rootfs命令 docker [commit|cp|diff] #镜像仓库 docker [login|pull|push|search] #本地镜像管理 docker [build|images|rmi|tag|save|import|load] #容器资源管理 docker [volume|network] #系统日志信息 docker [events|history|logs]
从docker命令出发,梳理出如下结构图:
这篇关于Docker学习轨迹一(docker简介与安装)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程