Docker基础管理——学docker必盘的知识体系
Docker什么是Docker1.Docker的使用场景2.容器与虚拟机的区别Docker的核心概念及安装方式Docker的安装方式镜像加速网络优化Docker自2013年爆红以来,一直独领风骚,以下是我整理的一些Docker基础理论,个人感觉这些是以后玩Docker,K8S等的敲门砖,很基础,很重要!什么是DockerDocker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够
- Docker自2013年爆红以来,一直独领风骚,以下是我整理的一些Docker基础理论,个人感觉这些是以后玩Docker,K8S等的敲门砖,很基础,很重要!
什么是Docker
-
Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件
-
是一个开源的应用容器引擎,让开发者可以打包大门的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或者Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
-
沙箱(Sandbox):在计算机安全领域,沙箱是一种程序的隔离运行机制
-
Docker在2013年一炮而红,直到现在,已经成为容器技术的代名词
-
Docker从一开始就以提供标准化的运行时环境为目标,真正做到“build once, run anywhere”,可以将同一个构建版本用于开发、测试、预发布、生产等任何环境,并且做到了与底层操作系统的解耦。在此基础上还进一步发展出了CaaS(容器即服务)技术
1.Docker的使用场景
-
打包应用程序简化部署
-
可脱离底层硬件任意迁移
-
比如服务器从腾讯云迁移到阿里云
2.容器与虚拟机的区别
不同点 | container | VM |
---|---|---|
启动速度 | 秒级 | 分钟级 |
运行性能 | 接近原生(直接在内核中运行) | 5%左右损失 |
磁盘占用 | MB | GB |
数量 | 成百上千 | 一般几十台 |
隔离性 | 进程级别 | 系统级别(更彻底) |
操作系统 | 主要支持Linux | 几乎所有 |
封装程度 | 只打包项目代码和依赖关系,共享宿主机内核 | 完整的操作系统,与宿主机隔离 |
往往你会发现你要使用虚拟机,需要先安装虚拟化软件,然后安装系统,最后在系统上安装应用软件
而容器不需要,容器你只需要做三步就可以了,创建镜像,基于镜像创建容器,开启容器即可
Docker的核心概念及安装方式
-
镜像:
一个面向docker容器引擎的只读模板 -
容器:
从镜像创建的运行实列 -
仓库:
集中保存镜像的地方
docker-ce是跨平台引擎,有了它就可以实现跨平台操作
Docker的安装方式
##这里我用的是阿里线网源,所以需要先搭建yum线网源仓库##
[root@localhost ~]# hostnamectl set-hostname docker
[root@localhost ~]# su
[root@docker ~]# cd /etc/yum.repos.d/
[root@docker yum.repos.d]# ls
backup local.repo
[root@docker yum.repos.d]# ls
backup local.repo
[root@docker yum.repos.d]# rm -rf local.repo
[root@docker yum.repos.d]# mv backup/* /etc/yum.repos.d/
[root@docker yum.repos.d]# ll
total 28
drwxr-xr-x. 2 root root 6 Nov 10 06:38 backup
-rw-r--r--. 1 root root 1664 Aug 30 2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Aug 30 2017 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Aug 30 2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Aug 30 2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Aug 30 2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Aug 30 2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 Aug 30 2017 CentOS-Vault.repo
[root@docker yum.repos.d]# yum clean all
[root@docker yum.repos.d]# yum makecache
##添加阿里docker线网源##
[root@docker yum.repos.d]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
##添加完成后会有一个docker-ce.repo##
[root@docker yum.repos.d]# ls
docker-ce.repo
[root@docker yum.repos.d]# yum install -y docker-ce
[root@docker yum.repos.d]# systemctl start docker.service
[root@docker yum.repos.d]# systemctl enable docker.service
镜像加速
为什么做镜像加速,不加速的话很卡很卡很卡!!!
##在阿里官网中,每个人都有自己的加速网址,可以去阿里云控制台查看##
[root@docker yum.repos.d]# cd ~
[root@docker ~]# mkdir -p /etc/docker
[root@docker ~]# tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://ga12ck6j.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://ga1ock6j.mirror.aliyuncs.com"]
}
[root@docker ~]# cd /etc/docker/
[root@docker docker]# ls
daemon.json key.json
[root@docker docker]# systemctl daemon-reload
[root@docker docker]# systemctl restart docker
网络优化
[root@docker docker]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@docker docker]# sysctl -p
net.ipv4.ip_forward = 1
[root@docker docker]# systemctl restart network
[root@docker docker]# systemctl restart docker
- 安装完docker后,会自动分配一块网卡
[root@docker docker]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:f0:05:36:99 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 它的功能就像安装VM时自动给你分配的VM1与VM8,用于宿主机的物理网卡(比如ens33),与docker内部容器的网络连通
更多推荐
所有评论(0)