首页 > 其他分享 >2. docker的入门

2. docker的入门

时间:2023-06-10 15:24:03浏览次数:40  
标签:容器 入门 部署 虚拟机 源码 docker 物理

1. 物理机演进到虚拟化部署

1.1 物理机部署

在早期的项目部署中是非常繁琐和复杂的,通常就是一台物理机跑起来一个项目

  • 部署非常慢
  • 成本很高
  • 资源浪费
  • 难以扩展和迁移

1.2 虚拟部署

 1.2.1 虚拟机

虚拟机的出现可以很好的解决物理机部署存在的问题

  • 一台物理机可以部署多个app
  • 实现环境上的隔离

但是虚拟机也存在很大的问题,虚拟机有独立的操作系统,非常消耗物理机的资源,可能一台物理机也创建不了太多的虚拟机

1.2.2 容器技术

容器技术的出现,可以让不同的操作系统共享相同的物理机资源,解决了宿主机部署冲突的问题,如进程空间,网络空间和文件系统空间

  • 更高效的利用系统资源
  • 更快的启动时间
  • 更轻松的迁移和扩展
  • 轻量级的实现资源环境隔离

docker就是对容器实现增删改查的软件

2. docker使用原理流程

2.1 LXC技术

LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求

linux是支持LXC技术的

 

2.2 docker管理容器

docker是基于Golang开发的一款管理容器的软件,其本质上就是调用linux的LXC,完成对容器的增删改查操作,每一个容器都有独立的

  • 网络空间
  • 文件系统空间
  • 进程空间

说白了,就是在一台物理机上,尽可能创建更多的相互隔离的环境,满足不同服务的部署

2.3 基于docker实现项目的部署

 3. 容器化开发部署

开发一个项目通常由开发,测试和运维三大部门组成,每个部门都有自己的工作环境,之前的做法都是各自安装项目的运行环境,极大的造成时间上的浪费

现在的devops文化倡导的就是敏捷开发,这就要求必须使用docker技术来进行开发部署

 

  • 源码部署:对于开发人员开发的源码,通常使用gitee或者github实现源码的分享
  • 环境部署:对于开发人员编写的dockerfile,生成对应的镜像,上传到镜像仓库中,如docker hub
  • 基于源码和容器可以快速的实现项目的部署运行或者测试

 

标签:容器,入门,部署,虚拟机,源码,docker,物理
From: https://www.cnblogs.com/victor1234/p/17471168.html

相关文章

  • 脚本安装Dockerfile安装Jenkins
    #1.编写Docker安装脚本[root@ip-10-0-12-212~]#vimIns_Docker.sh#!/usr/bin/bash#Author:wl#Time:2023-06-0911:54:22#Name:Ins_Docker.sh#Version:1.0#Discription:Tosource/etc/init.d/functionsrely_software=(yum-utilsdevice-mapper-persistent-......
  • Docker安装Jenkins报错后升级Centos7升级内核
    很久没碰docker了,昨晚在虚拟机上用dockerpulljenkinsci/blueocean安装Jenkins启动报如下错误:java.net.UnknownHostException:updates.jenkins.io最后发现容器pingdocker0都是不通的,尴尬,想想应该是内核或docker版本的问题,安装的centos7内核版本是3.10,升级到最新稳定版5.x后重......
  • 云原生之使用Docker部署Laverna笔记工具
    (云原生之使用Docker部署Laverna笔记工具)一、Laverna介绍Laverna是一个开源的、用JavaScript编写的笔记网络应用程序,可以部署在个人服务器上使用。二、检查本地环境状态1.检查系统版本[root@server001~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"......
  • docker 核心原理
    docker网络docker安装后自动创建3种网络dockernetworkls查看:bridgehost类似Vmware的NAT模式。none通过dockerinfo可见支持的网络类型:Network:bridgehostipvlanmacvlannulloverlaydocker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动......
  • Docker配置完镜像加速重启失败
    systemctlstatusdocker-l●docker.service-DockerApplicationContainerEngineLoaded:loaded(/usr/lib/systemd/system/docker.service;enabled;vendorpreset:disabled)Active:failed(Result:start-limit)since六2023-06-1009:09:01CST;1m......
  • 构建编译dockerfile docker build报错make: uname: Operation not permitted
    报错信息:查看docker版本#docker-vDockerversion1.13.1,build7d71120/1.13.1在dockerfile中我使用的基础镜像为FROMalpine:3.16.5解决办法是升级docker或者降低Alpine的版本,我这边选择升级docker版本卸载现有docker版本#yum-yremove$(rpm-qa|grepdocker......
  • 【若归】 【LGR-142-Div.4】洛谷入门赛 #13赛后反思
    比赛链接:【LGR-142-Div.4】洛谷入门赛#13rk288,比前几次差(可能是因为rated?)A十年OI一场空,不开longlong见祖宗#include<bits/stdc++.h>usingnamespacestd;intmain(){ longlongintn; cin>>n; cout<<"8"<<12*(n-2)<<""<<6*(n-......
  • SAP S/4HANA入门篇(3)-嵌入式分析功能、数据模型、实施方法论
    本篇介绍S/4HANA产品中的嵌入式分析(EmbeddedAnalytics)功能和VDM(VirtualDataModel)数据模型,以及S/4HANA的实施方法论简述。嵌入式分析嵌入式分析是S/4HANA产品的一大亮点,相比于传统的通过ETL工具进行数据抽取然后分析的模式。嵌入式分析可以提供实时的分析结果并应用于业务流......
  • 003Arch安装docker
    链接:ArchLinux安装Docker并简单配置_archlinuxdocker_陌年微凉II的博客-CSDN博客安装dockerpacman-Sdocker开启docker服务#开启Docker服务systemctlstartdocker#允许Docker服务开机自启动systemctlenabledocker#验证Docker服务运行状态systemctlsta......
  • 004Arch的Docker卸载
    链接:Arch下面安装docker-Docker安装手册-docker中文社区Arch下面删除Docker删除Docker包。sudopacman-Rdocker删除Docker包,同时删除其依赖的包。sudopacman-Rnsdocker删除Docker运行过程中产生的镜像、容器等文件。用户生成的配置文件需要手工删除。r......