最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
这是我们再次尝试拉取,成功拉取
[root@server2 docker]# docker pull 172.25.1.1:5000/webserver
2.使用自签名证书
使用自签名证书,这比不安全的注册表解决方案更安全
这里还需要将刚才编写的注册巍峨文件删除
[root@server2 docker]# rm -fr daemon.json
- 生成自己的证书
[root@server1 ~]# mkdir -p certs
[root@server1 ~]# openssl req \
> -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key \
> -x509 -days 365 -out certs/westos.org.crt
生成证书(域名westos.org要求在主机上有解析)
如果注册表当前正在运行,请停止它。
[root@server1 ~]# docker stop registry
[root@server1 ~]# docker rm registry
参考:官方文档
[root@server1 ~]# vim /etc/hosts ##加上reg.westos.org解析 ,server2相同
将westos.org..crt文件复制到 /etc/docker/certs.d/reg.westos.org/ca.crt每个Docker主机上。您无需重启Docker。
[root@server1 ~]# mkdir /etc/docker/certs.d/reg.westos.org -p
[root@server2 ~]# mkdir /etc/docker/certs.d/reg.westos.org -p
[root@server1 ~]# cp certs/westos.org.crt /etc/docker/certs.d/reg.westos.org/ca.crt
拷贝证书到其他docker主机
[root@server1 ~]# cd /etc/docker/certs.d/reg.westos.org/
[root@server1 reg.westos.org]# scp ca.crt server2:/etc/docker/certs.d/reg.westos.org/
重新启动注册表,将其定向为使用TLS证书。此命令将certs/目录绑定安装到容器中的/certs/,并设置环境变量,该变量告诉容器在何处找到domain.crt anddomain.key文件。注册表在端口443(默认的HTTPS端口)上运行。
[root@server1 ~]# docker run -d --name registry -p 443:443 -v /opt/registry:/var/lib/registry -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key registry
测试:
server1上传,server2下载
[root@server1 ~]# docker tag busybox:latest reg.westos.org/busybox:latest
[root@server1 ~]# docker push reg.westos.org/busybox:latest
[root@server2 ~]# docker pull reg.westos.org/busybox:latest
3.本地基本身份验证
实现访问限制的最简单方法是通过基本身份验证(这与其他Web服务器的基本身份验证机制非常相似)。本示例使用本机基本身份验证htpasswd来存储机密。
参考:https://docs.docker.com/registry/deploying/#get-a-certificate
创建一个密码文件
[root@server1 ~]# yum install -y httpd-tools
[root@server1 ~]# mkdir auth
[root@server1 ~]# htpasswd -B -c auth/htpasswd sun
[root@server1 ~]# docker rm -f registry ## 停止注册表。
[root@server1 ~]# docker run -d --name registry -p 443:443 -v /opt/registry:/var/lib/registry -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key -v "$(pwd)"/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry
## 使用基本身份验证启动注册表。
注意路径问题
测试上传镜像
[root@server1 ~]# docker tag mario:latest reg.westos.org/mario:latest
[root@server1 ~]# docker push reg.westos.org/mario:latest
我们发现没有认证,所以不能上传。
尝试从注册表中提取镜像,或将图像推入仓库。这些命令都是失败的。
需要登录到注册表。
[root@server1 ~]# docker login reg.westos.org
再次尝试上传,显示上传成功。
尝试远端拉取镜像,显示失败,没有认证信息。
[root@server2 ~]# docker pull reg.westos.org/mario
登陆
[root@server2 ~]# docker login reg.westos.org
Username: sun
Password:
[root@server2 ~]# docker pull reg.westos.org/mario
二、harbor仓库
软件下载:harbor-offline
部署:(依赖性 docker 17.06.0-ce+ and docker-compose 1.18.0+)
链接: harbor-offline-install提取码: 2azb
1.软件下载
[root@server1 ~]# tar zxf harbor-offline-installer-v1.10.1.tgz
[root@server1 ~]# cd harbor/
[root@server1 harbor]# mv docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose
[root@server1 harbor]# chmod +x /usr/local/bin/docker-compose
[root@server1 harbor]# docker rm -f registry
[root@server1 ~]# cp -r certs/ / ##因为下面配置文件里我选择了放在/下,所以这里将证书复制到根下了。
2.修改配置信息
[root@server1 harbor]# vim harbor.yml ## 修改内容如下
hostname: reg.westos.org
certificate: /certs/westos.org.crt
private_key: /certs/westos.org.key
harbor_admin_password: westos
[root@server1 harbor]# ./install.sh ##进入默认,不加任何选项
[root@server1 harbor]# docker-compose ps
[root@server1 harbor]# docker ps
3.登陆到web页面
推送的路径查看
4.重新获取认证
[root@server1 harbor]# docker logout reg.westos.org
Removing login credentials for reg.westos.org
[root@server1 harbor]# docker login reg.westos.org
Username: admin
Password:
此处账号密码和配置文件中相同,就是登陆web页面的账号密码。
5.上传镜像
[root@server1 harbor]# docker tag mario:latest reg.westos.org/library/mario:latest
[root@server1 harbor]# docker push reg.westos.org/library/mario:latest
到web页面查看是否上传成功
在远端拉取镜像时,我们可以直接指定我们的私有仓库进行下载,如果私有仓库中没有,再从网络上下载。
这里我们编辑一下文件
[root@server2 ~]# cd /etc/docker/
[root@server2 docker]# vim daemon.json
{
"registry-mirrors" : ["https://reg.westos.org"]
}
[root@server2 docker]# systemctl reload docker.service
[root@server2 docker]# docker pull mario
下图中我们可以看到是从我们的私有仓库中下载的
查看日志可以看到下载情况。
6加入选项重新下载配置
[root@server1 harbor]# docker-compose down ##停止并删除
[root@server1 harbor]# ./prepare ##清理配置信息
[root@server1 harbor]# ./install.sh --with-notary --with-clair --with-chartmuseum
内容信任 ,镜像扫描,
配置中加入了漏洞扫描,内容信任等选项。
手动进行扫描,扫描太耗费内存的,所以不建议开启扫描功能
部署根证书:
[root@server1 ~]# mkdir ~/.docker/tls/reg.westos.org:4443 -p
[root@server1 ~]# cd ~/.docker/tls/reg.westos.org:4443
[root@server1 reg.westos.org:4443]# cp /etc/docker/certs.d/reg.westos.org/ca.crt .
启用docker内容信任:
export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://reg.westos.org:4443
上传镜像:
[root@server1 ~]# docker tag yakexi007/game2048:latest reg.westos.org/library/game2048:latest
[root@server1 ~]# docker push reg.westos.org/library/game2048:latest
当我们修改镜像的名字的时候需要我们输入root key 当我们只修改标签的时候,我们只用输入repository key
为了不让扫描,使得占用的空间越来越大,所以重新修改一下选项
[root@server1 ~]# export DOCKER_CONTENT_TRUST=0
[root@server1 harbor]# docker-compose down
[root@server1 harbor]# ./prepare
[root@server1 harbor]# ./install.sh --with-chartmuseum
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
PPT等共享给大家!
资料预览
给大家整理的视频资料:
[外链图片转存中…(img-WQxSAKHy-1715719362243)]
给大家整理的电子书资料:
[外链图片转存中…(img-mB0BgXRv-1715719362244)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!