容器云 docker
容器云
认识容器
容器简介
容器是一种轻量级的、可移植的、自包含的软件打包技术
本质:一组受到资源限制且彼此间相互隔离的进程
与虚拟化技术的区别
传统虚拟化技术
虚拟了一套硬件后,在其上运行一个完整的操作系统,在该系统上再运行所需应用进程
容器
可共享同一个操作系统的内核,将应用进程与系统其他部分隔离开
资源有限时,想部署轻量级应用,容器更有优势
docker容器
定义:一个开源的应用容器引擎
三大技术
Namespace
分离进程树、网络接口、挂载点以及进程间通信等资源的方法
docker就是通过namespace对不同的容器实现隔离
Cgroups
作用:限制某个或某些进程的资源分配
AUFS
能透明地覆盖一或多个现有文件系统的层状文件系统,支持将不同目录挂载到同一个虚拟文件系统下的文件系统
- 可以把不同的目录组合在一起,形成一个单一目录
是一种虚拟化技术,不用格式化,直接挂载
Copy on Write(写入复制)
- 可以把多层合并文件系统的单层表示
docker的优势
更高效地利用系统资源
更快速的交付和部署
更高效的部署和扩容
更简单的管理
Docker容器的系统架构
docker的架构
C/S架构
- 使用远程API管理和创建docker容器
docker的组件
docker daemon服务器
docker客户端
docker镜像
是一个只读模板,用于创建docker容器
- 由Dockerfile描述镜像内容
自定义镜像
起因:docker hub提供的镜像无法满足日常工作需求
方法
Docker Commit
Dockerfile
docker仓库
用于集中存放镜像文件的场所
分类
互联网公共镜像仓库:Docker Hub
私有镜像仓库:Registry
docker容器
一个镜像的运行实例
在宿主机操作系统的用户空间中运行,与操作系统其他进程隔离
Docker容器的实训
Docker引擎的安装
基础环境配置
配置yum源
vi /etc/yum.repod.s/local.repo
[kubernetes]
name=kubernetes baseurl=file:///root/Docker
gpgcheck=0
enabled=1
升级系统内核
yum upgrade -y
uname -r
配置防火墙和SELinux
systemctl stop firewalld && systemctl disable firewalld
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
/usr/sbin/iptables-save
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
reboot
开启路由转发
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
modprobe br_netfilter
sysctl -p
Docker引擎安装
安装依赖包
yum install -y yum-utils device-mapper-persistent-data
安装docker-ce
yum install docker-ce-18.09.6 docker-ce-cli-18.09.6 containerd.io -y
启动docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
查看docker系统信息
docker info
Docker仓库的使用
构建私有仓库
在搭建好docker的环境下运行 Registry仓库
./image.sh
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
查看运行情况
docker ps
私有仓库的使用
上传镜像
cat /etc/docker/daemon.json
{ “insecure-registries”: [“10.18.4.30:5000”] }
systemctl restart docker
为镜像打上标记
docker tag centos:latest 10.18.4.30:5000/centos:latest
上传标记的镜像
docker push 10.18.4.30:5000/centos:latest
curl 命令查看仓库中的镜像
curl -L http://10.18.4.30:5000/v2/_catalog
拉取镜像
docker pull 10.18.4.30:5000/centos:latest
Docker仓库
构建https证书
生成 CA 证书
mkdir -p /data/ssl
cd /data/ssl/
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 2.235 -out ca.crt
生成证书签名请求
openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.yidaoyun.com.key -out www.yidaoyun.com.csr
生成注册表主机的证书
openssl x509 -req -days 2.235 -in www.yidaoyun.com.csr -CA ca.crt 10 -CAkey ca.key -CAcreateserial -out www.yidaoyun.com.crt
分发证书
cp -rfv www.yidaoyun.com.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust enable
update-ca-trust extract
安装 docker-compose
mv docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
docker-compose --version
安装Harbor仓库
下载 Harbor 安装包
tar -zxvf harbor-offline-installer-v1.5.3.tgz -C /opt/
进入到 harbor 目录
cd /opt/harbor/
编辑配置文件
vi harbor.cfg
hostname = 10.24.2.37 #修改 harbor 的启动 ip,这里需要依据系统 ip 设置
ui_url_protocol = https #启用加密传输协议 https
ssl_cert = /data/ssl/www.yidaoyun.com.crt #证书的位置
ssl_cert_key = /data/ssl/www.yidaoyun.com.key #证书密钥位置
harbor_admin_password = 000000 #修改 harbor 的 admin 用户的密码
安装 Harbor
./prepare
镜像管理与安全
配置本地 deamon.json 文件
{ “registry-mirrors”: [“https://5twf62k1.mirror.aliyuncs.com”], “insecure-registries”: [“10.24.2.37”] }
systemctl restart docker
重新启动 Harbor 私有镜像仓库
./prepare
清理所有 Harbor 容器进程
cd /opt/harbor
docker-compose down
docker-compose up -d
上传镜像
docker tag centos:latest 10.24.2.37/library/centos:latest
docker login https://10.24.2.37
docker push 10.24.2.37/library/centos:latest
重新启用漏洞扫描
./install.sh --with-notary --with-clair
Docker镜像和容器的使用
镜像的基本管理和使用
查看镜像列表
./image.sh
docker images
运行容器
docker run -i -t -d httpd:2.2.31 /bin/bash
查找镜像
docker search --filter=stars=10 java
–automated:只列出 automated build 类型的镜像。
–no-trunc:显示完整的镜像描述。
–filter=stars:列出收藏数不小于指定值的镜像.
从容器创建一个新的镜像
# docker commit -a “xiandian” -m “nginx-test” 5d42a9fafeb6 nginx:v1
docker命令
docker tag 语法
docker tag IMAGE:TAG/]REPOSITORY[:TAG]
docker images
REPOSITORY:表示镜像的仓库源。
TAG:镜像的标签。
IMAGE ID:镜像 ID。
CREATED:镜像创建时间。
SIZE:镜像大小。
docker run
-i:交互式操作。
-t:终端。
-d:后台运行。
httpd:2.2.31:镜像名,使用 https:2.2.31 镜像为基础来启动容器。
/bin/bash:容器交互式 Shell。
获取镜像语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
查找镜像
docker search [OPTIONS] TERM
删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE…]
强制删除。
–no-prune:不移除该镜像的过程镜像,默认移除。
启动容器
docker start [CONTAINER ID]
列出所有容器(包含终止状态)
docker ps -a
查看具体容器的信息
docker inspect [container ID or NAMES]
查看容器的使用资源状况
docker stats [container ID or NAMES]
进入容器
docker exec -it [CONTAINER ID] bash
删除终止状态的容器
docker rm [CONTAINER ID]
删除运行中的容器
docker rm -f [CONTAINER ID]
导入/导出容器
docker export [CONTAINER ID] > [tar file]
cat [tar file] | docker import - [name:tag]
将镜像保存为文件
docker save -o [tar file] IMAGE
从容器创建一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a:提交的镜像作者
-c:使用 Dockerfile 指令来创建镜像
-m:提交时的说明文字
-p:在 commit 时,将容器暂停
Dockerfile
FROM:指定基础镜像,必须为第一个命令。
MAINTAINER:维护者信息。
RUN:构建镜像时执行的命令。
ADD:将本地文件添加到容器中,tar 类型文件会自动解压(网络压缩资源不会被解 压),可以访问网络资源,类似 wget。
COPY:功能类似 ADD,但是是不会自动解压文件,也不能访问网络资源。
CMD:构建容器后调用,也就是在容器启动时才进行调用。
ENTRYPOINT:配置容器,使其可执行化。配合 CMD 可省去“application”,只使 用参数。
LABEL:用于为镜像添加元数据。
ENV:设置环境变量。
EXPOSE:指定与外界交互的端口。
VOLUME:用于指定持久化目录。
WORKDIR:工作目录,类似于 cd 命令。
容器云 docker相关推荐
- 容器与容器云——Docker容器基本概念
Docker 基本概念 - 什么是Docker? Docker是一个轻量级的"虚拟机",容器完全使用沙箱机制,相互之间不会有任何接口.是Linux容器里运行应用的开源工具. - D ...
- 从云计算到容器到容器云
最近有朋友问我:"为啥你写的东西我都看不懂,也不是我平时用的."我不禁哑口无言.就像今天要说的云计算,其实已经覆盖了日常生活的不少场景,像检票一类的人脸识别,智慧城市的红绿灯等等, ...
- 平安容器云平台 Padis--传统金融企业的 Docker 实践
https://blog.csdn.net/u010646653/article/details/53099016 基于 Docker 的容器云-Padis 目前市面上基于容器云的产品有很多,对于平安 ...
- 《Docker——容器与容器云》:第五章 构建自己的容器云
我们在第1章介绍了一个云计算平台应有的层次结构,其中平台即服务层(PaaS)是本书重点着墨描述的.尽管在一些经典PaaS平台中,容器技术已经扮演了一个至关重要的角色,但很遗憾,大部分经典PaaS平台中 ...
- 《Docker——容器与容器云》:第一章 从容器到容器云
2013年初,一个名字从云计算领域横空出世,并在整个IT行业激起千层浪.这就是Docker--一个孕育着新思想的"容器".Docker选择容器作为核心和基础,依靠容器技术支撑的Do ...
- Docker 系列学习文章 | 什么是容器云?
戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:宝哥@devops运维 转自:云 ...
- 五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!
前言 五阿哥钢铁电商平台(www.wuage.com)是由钢铁行业第一的中国五矿与互联网第一的阿里巴巴联手打造,并充分运用双方股东优势资源,即:阿里巴巴在大数据.电商运营.互联网产品技术上的巨大优势, ...
- 《Docker:容器与容器云》.pdf
下载地址:网盘下载 内容简介 · · · · · · 本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如K ...
- 云原生的基石,一文读懂容器、Docker、Pod到底是什么!
作者 | Aholiab 责编 | Carol 出品 | CSDN(ID:CSDNnews) 封图|CSDN下载自视觉中国 云原生(Cloud Native),是2013年由Pivotal公司率先提出 ...
最新文章
- FileUpload生成图片水印,文字水印(转载)
- HDU 1846 Brave Game
- VS2010下安装boost库
- 调试U-Boot笔记(三)
- jquery.roundabout.js图片叠加3D旋转
- 正则表达式 正整数_史上最全的正则表达式 (1) -- 校验数字的表达式
- sql 从ip列表中查询ip段_IP地址段查询深度优化案例
- 第6章 循环结构程序设计
- jquery删除替换元素remove、detach、empty、replaceWith、replaceAll
- R语言构建层次分析模型不看一下吗~
- 使用w3m访问页面执行函数
- Cypress USB 芯片固件修改,改序列号(Serial Number)
- 虚拟机VMware插入U盘操作系统崩溃死机的解决方法
- 专门用来保存图片生成图片链接的工具博文
- Sloth组件之NetRisc.Configuration
- 计算机技术与软件专业技术资格哪个好考,计算机技术与软件专业技术资格好考吗?考试时间?...
- 六年软件测试感悟 从博彦到VMware
- 介词短语不能做宾语,但有时有的借此有句意省略就出现了介词再加上介词短语了
- 旭锋科技制造信息管理系统
- OpenCV实战之人脸美颜美型(四)——肤色检测