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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值