自学内容网 自学内容网

Docker容器化技术(1)

Docker容器化技术(1)

1.Docker

官网:
docker.io
docker.com
hub.docker.com
#Docker与VM的区别
容器提供了基于进程的隔离,虚拟机提供了资源的完全隔离。
Docker支持将应用打包进一个可以移植的容器中重新定义了应用开发、测试、部署上线的过程,核心理念:Build once, Run anywhere

1)标准化应用发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用;
2)VM一般是分钟级,docker容器是秒级
3)方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合;
3)节约成本,docker容器可以节约到MB级
4)方便持续集成,通过与代码进行关联使持续集成非常方便
6)可以作为集群系统的轻量主机或节点,在IaaS平台上,已经出现了CaaS,通过容器替代原来的主机。

1.docker的优势

  • 交付物标准化
  • 一次构建,多次交付
  • 应用隔离

2.docker三大核心组件

Docker镜像 - Docker images
Docker仓库 - Docker registeries
Docker容器 - Docker containers

#Docker仓库
用来保存镜像
#Docker镜像
Docker镜像是docker容器的一种只读模板,每个镜像由一系列的层组成
#Docker容器
Docker容器和文件夹很类似,一个docker容器包含了所有的某个应用所运行的所有环节,每一个docker容器都是独立和安全的应用平台。

2.Docker安装

国内源安装新版docker
#使用aliyun安装
#安装依赖
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 git
[root@docker ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#查看安装docker版本
[root@docker ~]# yum list docker-ce --showduplicates
#这里安装最新版本
[root@docker ~]# yum install -y docker-ce-27.0.3-1.el9
#启动服务
[root@docker ~]# systemctl start docker
#查看版本
[root@docker ~]# docker version

3.生产docker的环境配置

[root@docker ~]# vim /etc/docker/daemon.jsp
{
  "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://pilvpemn.mirror.aliyuncs.com",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
   ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
#找到docker工作目录的配置文件
[root@docker ~]# find / -name docker.service
/sys/fs/cgroup/system.slice/docker.service
/usr/lib/systemd/system/docker.service

#修改这一行(containerd=/run/containerd/containerd.sock --data-root=/docker-data)
[root@docker ~]# vim /usr/lib/systemd/system/docker.service
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/docker-data
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

#创建目录
[root@docker ~]# mkdir /docker-data
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart focker

原文地址:https://blog.csdn.net/takehaye/article/details/140505845

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!