docker 学习总结

news2024/11/13 14:55:34

docker 概念 -云计算的基石

docker的一个软件:

开源

docker基本组成

docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似
maven)
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

docker 原理介绍;

Docker的出现使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作

只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

docker 是内核级别的虚拟机容器技术;

解决什么问题?干什么?

容器的优缺点;

https://www.docker.com
docker官方文档地址:
https://docs.docker.com/

分布式

云部署

容器

镜像

仓库

docker 容器。

  • Docker是一种先进的隔离方式,类似于虚拟机,但是相比虚拟机启动和停止速度更快(小于1s),和宿主系统共用内核,不需要系统组件,占用内存空间更少,更加灵活。
  • Docker的思想来自于集装箱,云计算就好比大货轮。docker就是集装箱,只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。 @刘允鹏
  • Docker的技术原理:使用Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UionFS等技术,对进程进行封装隔离。由于隔离的进程独立于宿主和其他进程,因此也称其为容器。 容器间彼此隔离,还独立于底层的基础设施。应用出问题时,只会影响单个容器。

docker 实例

服务安装:

镜像

docker安装:

centos配置

1)查看centos系统版本命令:

2) 配置阿里云yum源
1.下载安装wget

yum install -y wget

2.备份默认的yum

mv /etc/yum.repos.d /etc/yum.repos.d.backup

3.设置新的yum目录

mkdir -p /etc/yum.repos.d

4.下载阿里yum配置到该目录中,选择对应版本

wget -O

/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5.更新epel源为阿里云epel源

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

6.重建缓存

yum clean all

yum make cache

7.看一下yum仓库有多少包

yum repolist

8.升级系统内核

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grep initrd16 /boot/grub2/grub.cfg
grub2-set-default 0
reboot

查看centos系统内核命令:

uname -r
uname -a

=================================

安装docker

1、阿里云开发者平台

开发者平台官网地址: 可以参考阿里云官网提供的docker安装教程进行安装

https://www.aliyun . com/

2、安装步骤:

1)安装docker前置条件

yum install -y yum-utils device-mapper-persistent-data lvm2

2)添加源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/Tinux/centos/docker-ce .repo

#刷新缓存

yum makecache fast

3)查看docker版本

yum list docker-ce --showduplicates sort -r

4)安装docker

安装最新版:推荐大家安装最新版本

#####客户端和服务端一起安装;

yum -y insta11 docker-ce

安装指定版本:

语法规则:

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING>containerd.io

yum -y install docker-ce-18.06.3.ce-3.e17 docker-ce-cli.x86_64

yum insta11 -y docker-ce-19.03.9-3.e17 docker-ce-cli-19.03.9-3.e17

3、docker配置

1、启动

2、加速器地址

4、docker命令

docker v

docker version

docker info

Rancher

使用Rancher可以非常轻松地管理安装在本地或远程开发环境中的Kubernetes

K8S (kubernetes) 为企业提供了一种一致的方式来管理任何计算基础架构

目前最流行的容器编排框架,这里的容器主要是指docker

k8s集群:

管理服务器

业务服务器:

docker 命令 系统学习

docker命令分类

本章节记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,根据docker官网案例,总的来说分为以下几种:

Docker环境信息 - docker [infolversion]

容器生命周期管理 一 docker

[createexec|runstart|stoplrestart|killlrmlpauselunpause]

容器操作管理- docker [ps inspectltoplattachlwaitlexportlport|renamelstat]

容rootfs命令- docker [commitlcpldiff]

镜像仓库一docker [loginlpulllpushlsearch]

本地镜像管理- docker [buildlimages|rmiltaglsavelimportlload]

容器资源管理 - docker [volumelnetwork]

系统日志信息 - docker [events l history | logs]

镜像相关命令

docker images

docker pull

docker push

docker 镜像

1、中央仓库查找需要的镜像;

1) 地址

https://hub.docker .com/

Docker镜像 (image)

Docker Hub地址 docker hub类似maven远程仓库地址 https://hub.docker .com/

作为一名研发人员,则可以将镜像理解为类 (Class) 。是一个应用程序。

首先需要先从镜像仓库服务中拉取镜像。常见的镜像仓库服务是 Docker Hub,但是也存在其他镜像仓库服务。拉取操作会将镜像下载到本地 Docker 主机,可以使用该镜像启动一个或者多个容器;

2)版本确认

2、镜像大小

影响因素:LinuxOS内核、

alpine:??最小的内核 ;

采用那个基础镜像-做镜像;这个是个有争议的问题;

3、命令

docker images

docker pull

docker push

docker tag

docker save

docker load -i

docker inspect

docker rmi

docker image prune

docker 容器

1、容器介绍 :

2、相关命令:

docker run 命令

docker stop --

docker ps

docker rm

停止所有运行容器

docker stop $(docker ps -qa)

删除所有的容器

docker rm $(docker ps -aq)

docker rm $(docker stop $(docker ps -g))

删除所有的镜像

docker rmi $(docker images -g)

dokcer exec

dokcer logs

案例演示:

案例一:启动一个Nginx 容器

docker run -itd --name nginx6 -p 8080:80 nginx:1.22.1

1、报错了 : 百度 启动Docker容器报错docker: Error response from daemon: driver failed programming external connectivity on.._小白白程序员的博客-CSDN博客

防火墙的错

docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx5 (dfb333352b438113d45787190c1cc6966b2b

de743fe7b60a947444bfc392b9b4):

(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.1

7.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转大数据:3-Hadoop家族的力量与挑战

引言 Hadoop作为一个强大的大数据处理框架&#xff0c;以其分布式计算和存储能力在业界备受关注。然而&#xff0c;Hadoop在应用场景、适用范围、社区支持以及后续持续发展等方面也面临着一些挑战。本文将围绕Hadoop的生态应用&#xff0c;以及来自其他生态的挑战&#xff0c;…

银河麒麟v10——植物大战僵尸原版——2023教程

1、原版安装包如下&#xff1a; 阿里云盘分享https://www.alipan.com/s/Qn5DpDKs2YT 2、麒麟信息&#xff1a; 3、安装命令&#xff1a; 注意&#xff1a;最后一步&#xff0c;需要先解压tar包&#xff0c;再切到PlantsVsZombies.exe所在目录下&#xff0c;再执行启动命令&a…

软件测试jmeter基本使用

1安装与配置 1.jdk下载 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#jdk18-windows&#xff08;压缩包中会给&#xff09; 2.jmeter下载 Apache JMeter - Download Apache JMeter&#xff08;压缩包中有&#xff09; 3.操作教学 打开软件后新…

前端:实现div的隐藏与显示

效果 完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-widt…

快速排序算法的代码及算法思想

快速排序&#xff08;Quick Sort&#xff09;是一种常用的排序算法&#xff0c;他的时间复杂度为O(nlogn) 算法思想: 通过一趟排序将待排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另一部分的所有数据小&#xff0c;然后再对这两部分数据分别进行快速排…

juniper EX系列交换机 CLI命令行操作模式

JUNOS有两种模式&#xff1a;操作模式和配置模式。 1&#xff0c;操作模式 监控和排错 软件&#xff0c;网络连接、路由器硬件。 2&#xff0c;配置模式 testlab2> 配置路由器包括&#xff1a;interface、路由信息、路由协议、用户访问、系统硬件参数。 testlab2> …

音视频开发:音频fdk-aac编码

编码的大概流程见下图 1.获取编码器: avcodec_find_encoder_by_name("libfdk_aac") 2.检查PCM格式是否被编码器支持 3.创建编码上下文: AVCodecContext *ctx avcodec_alloc_context3(codec) 4.给上下文设置参数 5.打开编码器: avcodec_open2 6.创建AVFrame: a…

NoSQL 数据建模错误会降低性能

数据建模错误是破坏性能的最简单方法之一。当您使用 NoSQL 时&#xff0c;特别容易搞砸&#xff0c;&#xff08;讽刺的是&#xff09;NoSQL 往往用于对性能最敏感的工作负载。NoSQL 数据建模最初可能看起来非常简单&#xff1a;只需对数据进行建模以适应应用程序的访问模式。但…

SAP 如何检查已安装的SAP UI5 版本

第一个方法是直接从FLP中查看 但是部分高版本的FLP中没有这个about&#xff0c; 那么在当前界面可以使用&#xff1a;CTRL ALT SHIFT S 查看当前版本 根据此版本&#xff0c;去进行你的UI5的开发吧

字符串函数-C语言

介绍 字符串函数&#xff0c;简单说&#xff0c;就是处理字符串的函数&#xff0c;头文件是string.h&#xff0c;以下是今天的讲解中会讲到的一系列字符串函数 头文件&#xff1a;#include<string.h>strlen&#xff1a;求字符串长度strcpy&#xff1a;拷贝字符串strcat&…

物联网实训室虚拟仿真软件建设方案

一、概述 物联网实训室虚拟仿真软件旨在紧密围绕立德树人的根本任务&#xff0c;充分依托先进的数字技术&#xff0c;并对接物联网行业的发展趋势和人才需求。通过对比真实企业工作环境&#xff0c;融合创新创业教育基因&#xff0c;秉承虚拟仿真技术与教育教学深度融合的理念&…

艺海泛舟——尹星从艺六十年作品展暨学术交流首展作品(二)

简历&#xff1a; 1944年1月25日出生于山西省阳高县&#xff0c;内蒙古师范学院艺术系美术专业&#xff0c;师从水彩之父李剑晨&#xff0c;北京京华美术学院创立者邱石冥&#xff0c;徐坚。与吴冠中&#xff0c;朱德群&#xff0c;赵无极&#xff0c;杨飞云是同门。擅长&…

解决CentOS下PHP system命令unoconv转PDF提示“Unable to connect or start own listener“

centos系统下&#xff0c;用php的system命令unoconv把word转pdf时提示Unable to connect or start own listene的解决办法 unoconv -o /foo/bar/public_html/upload/ -f pdf /foo/bar/public_html/upload/test.docx 2>&1 上面这个命令在shell 终端能执行成功&#xff0c…

优测云服务平台- 探索性测试策略分享

版权声明&#xff1a;本文作者 优测团队测试专家 郑凯泽 南明玮。 探索性测试是对常规的系统测试、新需求测试及专项测试的重要补充&#xff0c;往往能在短时间内发现更多的问题&#xff0c;一起来看看优测测试专家的分享吧~ 一、背景 优测团队长期承接腾讯社交产品、办公产…

​在做接口测试的时候,如果接口还没有开发好,你这边应该怎么去介入测试?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

机械臂仿真之vrep如添加视觉传感器

基于视觉的机械臂作业任务&#xff0c;如何在vrep中加入视觉传感器&#xff0c;并获取画面&#xff1f;

【elementUI】el-tab相关问题

Tabs 标签页 分隔内容上有关联但属于不同类别的数据集合。 <template><el-tabs v-model"activeName" tab-click"handleClick"><el-tab-pane label"用户管理" name"first">用户管理</el-tab-pane><el-tab-p…

什么是云安全?如何制定云安全战略

云计算允许组织通过互联网按需向其客户、合作伙伴或员工提供关键业务应用程序、服务和资源&#xff0c;换句话说&#xff0c;不再需要物理维护资源&#xff0c;每当通过 Internet 从计算机访问文件或服务时&#xff0c;都是在访问云。 迁移到云可以帮助企业增强安全性、简化运…

zemax之初级像差理论与像差校正——球差

一、初级像差理论 1.1厚透镜初级像差 由于结构和机械强度的需要&#xff0c;任何光学透镜都具有一定厚度。对于正透镜其边缘厚度一般不应小于3mm&#xff1b;对于负透镜&#xff0c;中心厚度不应小于透镜孔径1/10~1/15&#xff0c;以防止安装和固定变形。 除此之外透镜的厚度…

为什么要在项目中使用TypeScript?

随着越来越多的开发人员采用TypeScript&#xff0c;人们需要了解在下一个项目中应该使用TypeScript的原因。尽管它在早期应用中遇到了一些阻力&#xff0c;但在过去十年&#xff0c;它迅速成为一种广泛使用的编程语言。 以下介绍如何使用TypeScript以及它给开发人员带来的一些好…