docker的一个软件:
开源
docker基本组成
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似
maven)
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
Docker的出现使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作
只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
docker 是内核级别的虚拟机容器技术;
解决什么问题?干什么?
容器的优缺点;
https://www.docker.com
docker官方文档地址:
https://docs.docker.com/
分布式
云部署
容器
镜像
仓库
docker 容器。
docker 实例
服务安装:
镜像
yum install -y wget
mv /etc/yum.repos.d /etc/yum.repos.d.backup
mkdir -p /etc/yum.repos.d
wget -O
/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
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
yum clean all
yum make cache
yum repolist
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安装教程进行安装
https://www.aliyun . com/
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-
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
1、启动
2、加速器地址
docker v
docker version
docker info
Rancher
使用Rancher可以非常轻松地管理安装在本地或远程开发环境中的Kubernetes
K8S (kubernetes) 为企业提供了一种一致的方式来管理任何计算基础架构
目前最流行的容器编排框架,这里的容器主要是指docker
k8s集群:
管理服务器
业务服务器:
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
https://hub.docker .com/
Docker镜像 (image)
Docker Hub地址 docker hub类似maven远程仓库地址 https://hub.docker .com/
作为一名研发人员,则可以将镜像理解为类 (Class) 。是一个应用程序。
首先需要先从镜像仓库服务中拉取镜像。常见的镜像仓库服务是 Docker Hub,但是也存在其他镜像仓库服务。拉取操作会将镜像下载到本地 Docker 主机,可以使用该镜像启动一个或者多个容器;
影响因素:LinuxOS内核、
alpine:??最小的内核 ;
采用那个基础镜像-做镜像;这个是个有争议的问题;
docker images
docker pull
docker push
docker tag
docker save
docker load -i
docker inspect
docker rmi
docker image prune
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.