docker 学习总结

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.

相关推荐
咕噜签名分发冰淇淋7 分钟前
签名应用APP分发平台的微服务化部署是什么?其有哪些优势?
java·运维·微服务
望获linux37 分钟前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
进击的阿尔法猿1 小时前
docker
运维·docker·容器
北京阿法龙科技有限公司1 小时前
AR 虚实叠加技术在工业设备运维中的实现流程方案
运维·ar
刘一说1 小时前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
iceland92 小时前
kubeadm方式部署k8s集群
云原生·容器·kubernetes
wdxylb7 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
木易双人青8 小时前
01-Docker-简介、安装与使用
运维·docker·容器
专注API从业者10 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
Lovyk11 小时前
Linux 正则表达式
linux·运维