首页 > 其他分享 >1、Docker介绍、组成、安装、运行容器的核心技术

1、Docker介绍、组成、安装、运行容器的核心技术

时间:2023-06-09 14:02:29浏览次数:49  
标签:容器 ubuntu2004 核心技术 nginx 镜像 Docker docker

Docker

docker的介绍和基础操作
docker 单机容器
docker compose 单机多个容器
k8s  多机多个容器
container即容器,集装箱
docker就是搬运集装的码头工人,管理容器的管理工具
Docker的组成
Docker 主机(Host): 一个物理机或虚拟机,用于运行Docker服务进程和容器,也称为宿主机, node节点
Docker 服务端(Server): Docker守护进程,运行docker容器 
Docker 客户端(Client): 客户端使用 docker 命令或其他工具调用docker API 
Docker 镜像(Images): 镜像可以理解为创建实例使用的模板,本质上就是一些程序文件的集合 
Docker 仓库(Registry): 保存镜像的仓库,官方仓库: https://hub.docker.com/,可以搭建私有仓库harbor 
Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务,其本质就是将镜像中 的程序启动后生成的进程
docker是什么样的逻辑帮我们运行容器的,核心技术是什么Namespace和control groups
Namespace

隔离类型

功能

系统调用参数

内核版本

MNT Namespace(mount)

提供磁盘挂载点和文件系统的 隔离能力

CLONE_NEWNS

2.4.19

IPC Namespace(InterProcess Communication)

提供进程间通信的隔离能力, 包括信号量,消息队列和共享内存

CLONE_NEWIPC

2.6.19

UTS Namespace(UNIX Timesharing System)

提供内核,主机名和域名隔离能力

CLONE_NEWUTS

2.6.19

PID Namespace(Process Identification)

提供进程隔离能力

CLONE_NEWPID

2.6.24

Net Namespace(network)

提供网络隔离能力,包括网络 设备,网络栈,端口等

CLONE_NEWNET

2.6.29

User Namespace(user)

提供用户隔离能力,包括用户和组

CLONE_NEWUSER

3.8

control group是实现资源限制的核心技术,依赖于内核
容器管理工具
核心管理工具docker

容器技术建议跑一些轻量级的应用,重量级应用慎用。如MySQL,排错效率太低

安装docker

安装docker服务端,二进制安装使用脚本(开启加速)
安装docker客户端,二进制安装使用脚本(开启加速)
包安装:apt install docker.io
查看服务
[root@ubuntu2004 ~]#systemctl status docker.service
包安装的多一个socket用于连接docker客户端的服务
安装docker后会增加一个新的网卡docker0
docker自动生成IPtables规则

docker version 查看版本
docker info    查看详细信息(包含加速信息)
拉取镜像:(可在阿里云/官网/自己搭建的仓库取拉取镜像)
[root@ubuntu2004 ~]#docker pull nginx

运行镜像:
[root@ubuntu2004 ~]#docker run -d --name nginx nginx

查看镜像列表及大小:
[root@ubuntu2004 ~]#docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    605c77e624dd   9 months ago   141MB

查看运行的容器
[root@ubuntu2004 ~]#docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
83090c35f1dd   nginx     "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes   80/tcp    nginx

拉取的镜像存放位置
/var/lib/docker/overlay2/镜像ID

显示镜像完整ID
[root@ubuntu2004 ~]#docker images --no-trunc

查看镜像详细信息
[root@ubuntu2004 ~]#docker inspect nginx


标签:容器,ubuntu2004,核心技术,nginx,镜像,Docker,docker
From: https://blog.51cto.com/mfc001/6447181

相关文章

  • 2、Docker二进制安装脚本
    #!/bin/bashDOCKER_VERSION=20.10.19#URL=https://mirrors.aliyun.comURL=https://download.docker.comprepare(){if[!-edocker-${DOCKER_VERSION}.tgz];then#wget${URL}/docker-ce/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz......
  • 3、Docker镜像管理(下载、删除、打标签、导出导入)
    镜像管理docker镜像是由一层一层的文件系统累积起来的容器的组成最下面:bootfs,引导文件系统,在镜像中不存在,用的是宿主机的内核然后是:rootfs,根文件系统,如centos/ubuntu接着:镜像(jdk)接着:镜像(tomcat)最后:可写容器(container)除了可写层,其他都是只读的。这种情况可以复用,如根文件......
  • 1、Docker二进制安装脚本
    #!/bin/bashDOCKER_VERSION=20.10.19#URL=https://mirrors.aliyun.comURL=https://download.docker.comprepare(){if[!-edocker-${DOCKER_VERSION}.tgz];then#wget${URL}/docker-ce/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz......
  • 修改docker镜像源
    修改docker镜像源原文:https://blog.csdn.net/skh2015java/article/details/82631633方法一:编辑/etc/docker/daemon.jsonvi/etc/docker/daemon.json#添加如下网易镜像源{"registry-mirrors":["http://hub-mirror.c.163.com"]}方法二:编辑/etc/sysconfig/docker......
  • 记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出
    importosimporttimeimportdatetimeimportsubprocessimportmysql.connector#Docker容器名称container_name="containerName"#MySQL数据库连接配置db_host="localhost"db_user="*********"db_password="*********"db_......
  • docker 安装 es-head 以及Content-Type header请求头错误解决
    拉取es-head镜像,启动dockerpullmobz/elasticsearch-head:5dockerrun-itd--namees-head-p9100:9100mobz/elasticsearch-head:5使用上面的镜像启动会有Content-Typeheader请求头错误的问题,可以进入容器中修改js文件,文章最后有提及,也可编写dockerfile重做镜像,避免......
  • Windows证书管理器 && SSL certification && WSL-Docker: curl: (60) SSL certificat
    深入浅出certmgr——Windows证书管理器https://www.fke6.com/html/91605.html计算机安全是当前社会的一个重要议题,证书是一种重要的安全机制,负责证明数据、软件或者人的身份和信誉。certmgr(即“证书管理器”)是Windows中专门用于证书管理的工具。本文将从多个方面对certmgr进行深......
  • 解决ssh连接docker容器环境变量无效的问题
    问题缘由:因在docker容器中的linux系统输入nvcc等命令都是有效的,但通过ssh连接到docker容器内,就存在该命令未找到等问题,查询资料得知,这是因为通过ssh连接docker容器后环境变量发生了变化,修改方法:解决方法:更改字段分隔符,使之仅仅遇到换行时分割/etc/profile中添加以下代码即可......
  • Docker CLI docker diff 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • docker实战教程
    基础篇一、什么是docker解决了运行环境和配置问题的软件容器。方便做持续集成并有助于整体发布的容器虚拟技术。一次构建,随处运行。官网:docker官网:http://www.docker.com仓库DockerHub官网:https://hub.docker.comCentOS7仅发行版本中的内核支持Docker。Docker运行在Cen......