Docker---入门解析,部署和镜像加速

Docker—入门解析,部署和镜像加速

一.基本概念

docker的官网https://www.docker.com/
帮助文档:https://docs.docker.com/

​ Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

设计目标:

1.提供简单的应用程序打包工具
2.开发人员和运维人员职责逻辑分离
3.多环境保持一致性

Docker的组成:

Docker Client: 客户端
Docker Daemon:守护进程
Docker Images: 镜像
Docker Container: 容器
Docker Registry: 镜像仓库

Dockerd 架构:(可参考官方文档)
  1. docker使用c/s架构,client通过接口与server进程通信实现容器的构建,运行和发布
  2. client和server可以运行在同一台集群中,也可以实现跨主机远程通信

在这里插入图片描述

docker与传统虚拟化的比较:
Container VM
启动速度 秒级 分钟级
运行性能 接近原生 5%左右损失
磁盘占用 MB GB
数量 成千上万 一般几十台
隔离性 进程级别 系统级(更彻底)
操作系统 支持Linux 几乎所有
封装程度 只打包项目代码和依赖关系,共享主机内核 完整的操作系统
Docker版本:

社区版(Community Edition,CE)
企业版( Enterprise Edition,EE)

Docker的优势:

1.更加快速的交付和部署

2.高效的部署和扩容

3.更高的资源利用率

4.更简单的管理

二.Docker的部署和镜像加速

1.安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2.因为本地没有docker源,所以得加载docker源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  docker-ce.repo
3.安装docker
yum install -y docker-ce
4.关闭防火墙
systemctl stop firewalld

setenforce 0
5.开启docker服务,永久开启
systemctl start docker.service

systemctl enable docker.service
6.查看镜像
docker search nginx

在这里插入图片描述

7.由于直接下载很慢,镜像也比较大,所以我们进行镜像加速,开启阿里云的镜像加速

在这里插入图片描述

[root@localhost yum.repos.d]# cd /etc/docker/
[root@localhost docker]# ls
key.json
[root@localhost docker]# tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://gklcnot2.mirror.aliyuncs.com"]
> }
> EOF
 {
   "registry-mirrors": ["https://gklcnot2.mirror.aliyuncs.com"]
 }
 [root@localhost docker]# ls
 daemon.json  key.json
 [root@localhost docker]# cat daemon.json 
 {
  "registry-mirrors": ["https://gklcnot2.mirror.aliyuncs.com"]
 }
 [root@localhost docker]# 
8.重新加载并重启docker
[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl restart docker
9.下载镜像并查看:
[root@localhost docker]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c499e6d256d6: Pull complete 
74cda408e262: Pull complete 
ffadbd415ab7: Pull complete 
Digest: sha256:282530fcb7cd19f3848c7b611043f82ae4be3781cb00105a1d593d7e6286b596
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@localhost docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ed21b7a8aee9        9 days ago          127MB
           IMAGE ID            CREATED             SIZE
nginx               latest              ed21b7a8aee9        9 days ago          127MB
[root@localhost docker]# 
原创文章 84 获赞 95 访问量 5896

猜你喜欢

转载自blog.csdn.net/obsessiveY/article/details/105418643