002、Docker 基础【与云原生的故事】

网友投稿 609 2022-05-30

docker基本概念

一、解决的问题

1、统一标准

应用构建

一、解决的问题

1、统一标准

应用构建

Java、C++、JavaScript

打成软件包

.exe

docker build .... 镜像

应用分享

所有软件的镜像放到一个指定地方 docker hub

安卓,应用市场

应用运行

统一标准的 镜像

docker run

容器化

2、资源隔离

cpu、memory资源隔离与限制

访问设备隔离与限制

网络隔离与限制

用户、用户组隔离限制

二、架构

虚拟化技术:

1、基础镜像GB级别

2、创建使用稍微复杂

3、隔离性强

4、启动速度慢

5、移植与分享不方便

容器化技术:

1、基础镜像MB级别

2、创建简单

3、隔离性强

4、启动速度秒级

5、移植与分享方便

Docker_Host:

安装Docker的主机

Docker Daemon:

运行在Docker主机上的Docker后台进程

Client:

操作Docker主机的客户端(命令行、UI等)

Registry:

镜像仓库

Docker Hub

Images:

镜像,带环境打包好的程序,可以直接启动运行

Containers:

容器,由镜像启动起来正在运行中的程序

交互逻辑

装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错

3、安装

1、centos下安装docker

其他系统参照如下文档

https://docs.docker.com/engine/install/centos/

002、Docker 基础【与云原生的故事】

1、移除以前docker相关包

[root@master0-server ~]# yum remove docker \ > docker-client \ > docket-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-engine No match for argument: docker No match for argument: docker-client No match for argument: docket-client-latest No match for argument: docker-common No match for argument: docker-latest No match for argument: docker-latest-logrotate No match for argument: docker-logrotate No match for argument: docker-engine No packages marked for removal. Dependencies resolved. Nothing to do. Complete! [root@master0-server ~]#

2、配置yum源

sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@master1-server ~]# yum-config-manager \ > --add-repo \ > http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist Adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@master1-server ~]#

解决办法

将 /etc/yum.repos.d/CentOS-Epel.repo 文件中 failovermethod=priority 注释掉。

[root@master1-server ~]# yum-config-manager \ > --add-repo \ > http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@master1-server ~]#

3、安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io #以下是在安装k8s的时候使用 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

4、启动

systemctl enable docker --now

5、配置加速

这里额外添加了docker的生产环境核心配置cgroup

镜像加速器

1. 安装/升级容器引擎客户端推荐安装1.11.2以上版本的容器引擎客户端

2. 加速器地址https://061566c33ds53460026b60fedsdss3c00517392e80.mirror.swr.myhuaweicloud.com

3. 配置镜像加速器针对容器引擎客户端版本大于 1.11.2 的用户以root用户登录容器引擎所在的虚拟机修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:vi /etc/docker/daemon.json

{ "registry-mirrors": [ "https://061566c3360026b6dsa12210fe3c00517392e80.mirror.swr.myhuaweicloud.com" ] }

按“Esc”,输入:wq保存并退出。

4. 重启容器引擎配置完成后,执行systemctl restart docker重启容器引擎。 如果重启失败,则检查操作系统其他位置(如:/etc/sysconfig/docker、/etc/default/docker)是否配置了registry-mirrors参数,删除此参数并重启容器引擎即可。

5. 确认配置结果执行docker info,当Registry Mirrors字段的地址为加速器的地址时,说明加速器已经配置成功。

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://061566c33600fdsfdsa423226b60fe3c00517392e80.mirror.swr.myhuaweicloud.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }

[root@master1-server docker]# ll total 8 -rw-r--r-- 1 root root 253 Apr 14 11:21 daemon.json -rw------- 1 root root 244 Apr 14 11:02 key.json [root@master1-server docker]# [root@master1-server docker]# [root@master1-server docker]# systemctl daemon-reload [root@master1-server docker]# systemctl restart docker [root@master1-server docker]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2022-04-14 11:25:59 CST; 7s ago Docs: https://docs.docker.com Main PID: 299884 (dockerd) Tasks: 8 Memory: 40.9M CGroup: /system.slice/docker.service └─299884 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Apr 14 11:25:58 master1-server dockerd[299884]: time="2022-04-14T11:25:58.998757809+08:00" level=info msg="ClientConn switching balancer to \"pick_fi> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026125032+08:00" level=warning msg="Your kernel does not support cgroup blk> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026141924+08:00" level=warning msg="Your kernel does not support cgroup blk> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.026233315+08:00" level=info msg="Loading containers: start." Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.131937408+08:00" level=info msg="Default bridge (docker0) is assigned with > Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.174945485+08:00" level=info msg="Loading containers: done." Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.191440293+08:00" level=info msg="Docker daemon" commit=b0f5bc3 graphdriver(> Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.191484627+08:00" level=info msg="Daemon has completed initialization" Apr 14 11:25:59 master1-server systemd[1]: Started Docker Application Container Engine. Apr 14 11:25:59 master1-server dockerd[299884]: time="2022-04-14T11:25:59.218406423+08:00" level=info msg="API listen on /var/run/docker.sock" lines 1-20/20 (END)

【与云原生的故事】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260

Docker Linux 云原生 云端实践 虚拟化

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:04_HUD_Qt_for_Python开发之路2
下一篇:SpringSecurity动态加载用户角色权限实现登录及鉴权
相关文章