当前位置: 首页 > news >正文

做初中数学题的网站重庆seo职位

做初中数学题的网站,重庆seo职位,国家建设部网站首页,wordpress中国打开404一、Docker的优点 docker 主要解决的问题就是程序开发过程中编译和部署中遇到的环境配置的问题。 1.1 Docker与其他虚拟机层次结构的区别** 运行程序重点关注点在于环境。 VM虚拟机是基于Hypervisor虚拟化服务运行的。 Docker是基于内核的虚拟化技术实现的。 1.2 Docker的技…

一、Docker的优点

docker 主要解决的问题就是程序开发过程中编译和部署中遇到的环境配置的问题。

1.1 Docker与其他虚拟机层次结构的区别**

在这里插入图片描述
运行程序重点关注点在于环境。
VM虚拟机是基于Hypervisor虚拟化服务运行的。
Docker是基于内核的虚拟化技术实现的。

1.2 Docker的技术优势

二、Docker 架构

Docker 结构框图如下

Docker对使用者来讲是一个C/S模式的架构,而Docker的后端是一个非常松耦合的架构,模块各司其职,并有机组合,支撑Docker的运行,如下图所示:

在这里插入图片描述

用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。

而Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求;而后Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。

Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动graphdriver将下载镜像以Graph的形式存储;当需要为Docker创建网络环境时,通过网络管理驱动networkdriver创建并配置Docker容器网络环境;当需要限制Docker容器运行资源或执行用户指令等操作时,则通过execdriver来完成。

Docker 客户端和服务器间通讯实例

Docker Client可以通过以下三种方式和Docker Daemon建立通信:tcp://host:port,unix://path_to_socket和fd://socketfd。
Docker Client发送容器管理请求后,由Docker Daemon接受并处理请求,当Docker Client接收到返回的请求相应并简单处理后,Docker Client一次完整的生命周期就结束了。当需要继续发送容器管理请求时,用户必须再次通过docker可执行文件创建Docker Client。

查看docker的client+server架构

tn@itec:~$ docker version
Client:Version:           24.0.5API version:       1.43Go version:        go1.20.3Git commit:        24.0.5-0ubuntu1~20.04.1Built:             Mon Aug 21 19:50:14 2023OS/Arch:           linux/amd64Context:           default
Server:Engine:Version:          24.0.5API version:      1.43 (minimum version 1.12)Go version:       go1.20.3Git commit:       24.0.5-0ubuntu1~20.04.1Built:            Mon Aug 21 19:50:14 2023OS/Arch:          linux/amd64Experimental:     truecontainerd:Version:          1.7.2GitCommit:runc:Version:          1.1.7-0ubuntu1~20.04.2GitCommit:docker-init:Version:          0.19.0GitCommit:

演示如下:
Linux下“一切皆文件”,这个也不例外,/var/run/docker.sock就是client和server交互的中间文件
我们可以向/var/run/docker.sock发送请求,也能达到docker ps、docker images这样的效果。

curl -s --unix-socket /var/run/docker.sock http://localhost/images/json |jq
curl -s --unix-socket /var/run/docker.sock http://localhost/containers/json |jq

三、Docker的基本操作指令

指令交互流程图如下:
在这里插入图片描述
创建一个Dockerfile:

FROM ubuntu:16.04
# 防止在非交互模式下的TZ数据错误
ARG DEBIAN_FRONTEND=noninteractive# 更新并安装基本工具
RUN apt-get update && apt-get install -y \lsb-release \gnupg2 \curl \&& rm -rf /var/lib/apt/lists/*# 设置默认工作目录
WORKDIR /root# 运行bash
CMD ["bash"]

创建一个镜像:

docker build -t i/ubuntu16.04:v1 .

创建一个容器并运行:

#!/bin/bash
docker run -it \--rm \-v $(pwd)/:/opt/ws/ \-v /home:/home \-v /etc/localtime:/etc/localtime:ro \-v /tmp/.X11-unix:/tmp/.X11-unix \-e DISPLAY=unix$DISPLAY \-w /opt/ws/ \--hostname ubuntu16 \
i/ubuntu16.04:v1

停止容器:

docker stop $(NAME)

运行容器:

docker start $(NAME)

提交当前容器至镜像:

docker commit -a "i" -m "first commmit" upbeat_babbage i_ubuntu16.04:v1

给提交的docker镜像打tag:

docker tag i/ubuntu16.04:v1 hub.itec.com/embedded/release_test:v1

将打完的docker镜像提交到docker镜像仓库:

登录: docker login https://hub.itec.com/
docker push hub.itec.com/embedded/release_test:v1

从docker镜像仓库拉去镜像:

docker pull hub.itec.com/embedded/release_test:v1

将一个镜像导出为tar包:

docker save hub.itec.com/embedded/release_test:v1 -o release_test.tar

将tar包导入至docker镜像

docker load -i release_test.tar

tips:
docker run :根据镜像创建一个容器并运行一个命令,操作的对象是 镜像;
docker exec :在运行的容器中执行命令,操作的对象是 容器。

四、 Docker镜像跨平台使用

为什么在ARM64架构上打包的docker镜像能在X86上面能加载并运行。

1) 通过查看/proc/sys/fs/binfmt_misc/注册表,查询内核是否支持arm64架构。
2) 进一步确认使用的虚拟机解释器

tn@itec:~$ cat /proc/sys/fs/binfmt_misc/qemu-m68k
enabled
interpreter /usr/bin/qemu-m68k-static
flags: OCF
offset 0
magic 7f454c4601020100000000000000000000020004
mask ffffffffffffff00fffffffffffffffffffeffff
tn@itec:~$ cat /proc/sys/fs/binfmt_misc/qemu-aarch64
enabled
interpreter /usr/bin/qemu-aarch64-static
flags: OCF
offset 0
magic 7f454c460201010000000000000000000200b700
mask ffffffffffffff00fffffffffffffffffeffffff

从 Docker 19.03 开始,Docker 引入了对 QEMU 的支持,用于在容器中模拟其他架构的 CPU。

在之前的版本需要运行模拟镜像:

sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

在docker build和pull 中指定platform有什么意义?

1) 在build时指定平台的意义完全是构建什么架构的镜像。如果同时指定多个架构,那么将构建多个镜像。
2) 在pull中指定架构,是指在仓库中找到对应架构的镜像,pull到本地docker。

如果在arm64平台上还是不能运行X86的镜像,怎么办?

1) 加载驱动

insmod /usr/lib/modules/5.10.110-rockchip-rk3588/kernel/fs/binfmt_misc.ko

2)添加注册

echo ':qemu-x86:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-x86_64-static:OCF' > register
http://www.tj-hxxt.cn/news/55836.html

相关文章:

  • 怀化网站开发搜索引擎搜索
  • 建立数据透视表seo软文推广工具
  • 中铁广州建设有限公司网站足球世界排名前十
  • 大连哪里做网站好百度推广首页
  • 在哪家网站可以买做服装的模具沈阳百度快照优化公司
  • 泊头网站建设qq群推广网站免费
  • 网站的后端用什么软件做河南网站建设
  • 一个用户注册的网站怎么做营销推广公司案例
  • 网站开发公司地址营销网站seo推广
  • wordpress做管理网站吗不受国内限制的浏览器下载
  • 网站模板建设教程seo优化常识
  • 做网站时遇到的问题搜索引擎的优化方法有哪些
  • 建设银行新加坡招聘网站重庆网站seo服务
  • 网站开发团队介绍媒体发布平台
  • 做网站引用别人的图片关键词网络推广企业
  • vs怎么开发app软件优化防疫措施
  • 微信推送怎么做购物网站网上培训课程平台
  • 网站一直建设中微信公众号推广2元一个
  • 小程序的开发费用搜索引擎优化seo应用
  • 页面优化诊断seo查询网站是什么
  • 0735郴州新网seo技术是什么意思
  • 长春网站建设及推广seo待遇
  • 买网站需要多少钱网络营销课程培训机构
  • 最好的 受欢迎的 免费的seo网站推广排名
  • 做休闲会所网站制作seo什么意思
  • 做网站有什么关于财务的问题爱站工具包
  • java eclipse做网站seo综合检测
  • WordPress底部固定导航优化游戏卡顿的软件
  • 织梦网站模板安装seo网站排名查询
  • 网站建设论文结尾互联网推广销售好做吗