Docker
文章平均质量分 53
docker学习篇
Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
docker拉取镜像报错unexpected EOF的解决方法
解决方法,将这台不能拉取的机器中关于这个镜像所有关联的镜像、容器全部删除,然后从可以正常拉取的服务器上docker save一下,然后上传的到右问题的机器,在load到本地,最后push到远程仓库,到此为止,问题就会得到解决,后期再次拉取时就不会再报错了。产生unexpected EOF报错的原因可能是镜像分层中有部分镜像层丢失导致,其他服务器可以正常拉取,唯独这台不可拉取。...原创 2022-08-05 14:40:24 · 8108 阅读 · 1 评论 -
Docker宿主服务器使用LVM逻辑卷作为存储点
1.安装lvm2.创建物理卷3.创建卷组4.创建逻辑卷5.格式化逻辑卷6.设置开机自动挂载7.停止docker服务8.拷贝docker数据9.挂载逻辑卷10.将docker数据拷贝至逻辑卷11.启动docker12.查看逻辑卷原创 2022-07-11 22:12:09 · 755 阅读 · 0 评论 -
修改Docker默认的数据目录
Docker的数据目录默认在/var/lib/docker下,现在需要将这个数据目录调整为/data/docker/lib/docker。1、查看docker的磁盘使用情况。2、停掉docker服务。3、创建新的数据目录。4、将旧数据拷贝至新的数据目录。5、调整docker的数据目录路径。6、重启docker。7、查看docker的数据目录是否调整成功。...原创 2022-07-07 09:16:01 · 4228 阅读 · 8 评论 -
推送docker镜像至Docker Hub
1.再Docker Hub上创建镜像库首先到到官网注册账号:https://hub.docker.com/点击Repositories---->Create填写镜像的名字即可,在右边可以看到推送镜像的命令2.将本地镜像推送到Docker Hub2.1.登陆Docker Hubdocker login -ujiangxlrepoPassword: WARNING! Your password will be stored unencrypted in /root/.docker/con原创 2021-11-08 15:09:52 · 969 阅读 · 4 评论 -
centos7底层系统容器使用systemctl启动服务的方法
centos7容器使用systemctl启动服务的方法1.实现思路思路:centos7想以systemctl命令启动,就需要开启init进程,init进程必须在系统启动的时候开启,作为第一个进程,init无法在脚本中启动,因此只能是将容器的启动命令设置成/usr/sbin/init,然后将启动服务的命令写成脚本,然后把执行脚本的命令写入/etc/rc.local中,这样就可以在centos7容器中使用systemctl启动服务了这种方法特别适合那种喜欢把一个容器做成一个小的VMware虚拟机以下原创 2021-06-21 14:15:11 · 971 阅读 · 1 评论 -
解决harbor上删除镜像不释放空间,无需停止harbor
解决harbor上删除镜像不释放空间docker镜像仓库中镜像的清理,一直是个比较麻烦的事情。尤其是在测试环境当中,每天都会有大量的构建。由此会产生大量的历史镜像,而这些镜像,大多数都没有用。在harbor中,清理镜像,也得分为两步,第一步是从ui中删除历史镜像。这个时候镜像并不会被真正删除,好在harbor集成了镜像删除的功能。网上其他博客都需要先将harbor停止,然后通过gc来清理磁盘上的镜像,而我是通过直接调用harbor的api功能,将镜像删除,无需停止运行harborREGISTRY_I原创 2021-05-21 09:38:49 · 2593 阅读 · 2 评论 -
快速批量备份docker镜像
快速批量备份docker镜像在生产或测试环境中,我们有时候经常需要备份一些docker镜像,如果docker镜像有成千上百个,手动备份工作量就会很巨大,可以写一个备份脚本,实现批量自动备份。需求:备份的文件名称需要以镜像名+标签方式命名1.思路分析我们可以根据下图分析备份方式绿框是镜像名称,有写镜像名称很长带着多级目录,我们可以通过awk取出最后一个字符串,最后一字符串一定是镜像名的唯一标识篮筐一列是镜像的版本号,通过awk取出,可以作为文件镜像备份的名称,例如nginx-latest.tar原创 2021-04-22 17:08:25 · 1934 阅读 · 452 评论 -
Docker部署rancherv2.44及故障排查
Docker部署rancherv2.44及故障排查目录列表Docker部署rancherv2.44及故障排查1.环境准备2.获取rancher2.4.4镜像3.部署rancher4.访问rancher4.1.设置语言为中文4.2.设置站点url路径4.3.rancher首页5.添加k8s集群5.1.点击添加集群5.2.选择导入k8s集群5.3.填写集群名称点击创建5.4.保存imprt命令5.5.在master运行命令导入rancher5.6.查看系统pod5.7.如何升级pod5.8.如何执行命令6.故原创 2021-01-11 10:35:15 · 1881 阅读 · 6 评论 -
harbor私有仓库-主从配置(十四)
1.harbor主从配置harbor主从配置后在master上上传,slave上就会有一摸一样的镜像角色ipharbor01192.168.81.230harbor02192.168.81.220.11.1.在两台机器上都安装harbor参考11.2.新建目标仓库管理—新建目标–确定1.3.新建复制管理复制管理–新建规则–名称–项目选择刚刚创建的ssh—目标选择在220上安装的harbor–保存即可源项目要写明要对那个项目进行主从复制,目标表示从服务器原创 2020-10-22 14:58:31 · 878 阅读 · 3 评论 -
docker企业级私有仓库harbor部署配置(十三)
企业级私有仓库harbor1.安装harbor1.1.获取harbor源码包https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-installer-v2.0.1.tgz或者在Linux中下载[root@docker03 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-install原创 2020-10-22 14:57:33 · 668 阅读 · 2 评论 -
docker-compose容器集群编排详解(十二)
docker compose容器编排1.compose简介前面我们使用docker的时候,定义dockerfile,每次只能启动一个容器,然后微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启动,那么效率会非常低使用docker compose可以轻松、高效的管理容器,可以一起运行多个容器2.安装docker compose2.1.安装compose[root@docker01 ~]# yum -y install python2-pi原创 2020-10-22 14:52:58 · 1279 阅读 · 2 评论 -
Docker跨宿主机通讯macvlan、overlay详解(十一)
2.docker跨宿主机通讯2.1.macvlan创建网络语法格式docker network create --driver 网络类型 --subnet 网段 --gateway 网关 -o parent=通讯网卡 网络名参数docker network 创建网络的关键字,必须有create 创建一个网络ls 列出创建的所有网络rm 删除一个网络connect 连接一个网络–dirver 指定要创建的网络类型–subnet 指定网段– gateway原创 2020-09-02 09:28:14 · 1180 阅读 · 2 评论 -
Docker的四种网络模型(十)
1.docker的四种网类型语法格式docker run -it --network 网络类型 镜像1.1.None不为容器配置任何网络功能,–net=noe1.指定网络类型为none[root@docker01 ~]# docker run -it --network none centos69_ssh_df:v3 /bin/bash2.查看是否有网络[root@6e47719e0c83 /]# ifconfig lo Link encap:Local Lo原创 2020-09-01 11:17:15 · 787 阅读 · 4 评论 -
Docker私有仓库registry(九)
7.docker私有仓库registry7.1.普通registry所谓普通的registry就是不需要认证,直接就可以上传到仓库1)安装registry镜像[root@docker01 ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /data/myregistry:/var/lib/registry registryUnable to find image 'registry:latest' locally原创 2020-09-01 11:13:35 · 511 阅读 · 3 评论 -
Docker容器分层、容器互联(八)
4.镜像分层镜像封层类似于kvm链接克隆,只保留修改过的内容镜像封层的好处:节省磁盘空间,相同的内容只需加载一份到内存每当使用docker load导入一个镜像时就会发现会分为好几层,layer是层的意思,每一层对应不同执行命令所产生的数据,在使用dockerfile时定义RUN,每一个RUN就是一层,可以用docker image history 镜像名来查看镜像构建的历史[root@docker01 ~]# docker image history centos69_kod_df:v4上原创 2020-09-01 11:10:47 · 661 阅读 · 2 评论 -
Dockerfile构建kodexporer(七)
dockerfile构建kodexporer.m1.手动构建kodexplorer容器1.1.运行一个centos6.9容器[root@docker01 ~]# docker run -d -it -p 80:80 --name=centos69_kod centos:6.9 1.2.进入容器[root@docker01 ~]# docker exec -it centos69_kod /bin/bash1.3.配置yum仓库[root@docker01 ~]# rm -rf /etc/y原创 2020-09-01 11:02:21 · 837 阅读 · 2 评论 -
Dockerfile指令详解(六)
dockfile详细配置1.dockerfile主要组成部分基础镜像信息FROM centos:6.9制作镜像操作指令RUN yum -y install openssh-server容器启动时操作指令CMD ["/bin/bash"]2.dockerfile常用指令FROM这个镜像来源于哪?(指定基础镜像),这里指定的镜像本地可以不存在,不存在的情况下默认去官方源去下载例子:FROM centos:6.9MAINTAINER镜像的描述,目前已不原创 2020-09-01 10:59:58 · 1111 阅读 · 4 评论 -
手动制作Docker镜像及dockerfile初步入门(五)
1.手动制作docker镜像手动构建docker镜像的思路:首先运行一个容器,进入容器里面,安装所需程序,退出容器,提交容器为镜像即可1.1.手动构建centos镜像1.1.1.配置容器1.首先运行一个容器[root@docker01 ~]# docker run -d -it --privileged -p 2222:22 --name centos8.2 centos:latest /usr/sbin/init --privileged: 指定容器是否为特权容器,特权容器拥有所有的功能想原创 2020-09-01 10:55:46 · 710 阅读 · 3 评论 -
Docker数据volume配置详解及案例应用(四)
1.docker数据卷1.1.docker挂载宿主机数据卷一般来说nginx只有默认首页,我们装了nginx肯定不只有首页,因此网站源码存放位置我们需要考虑了,放到容器中,很多命令在容器中不生效这点就很头疼,因此就有了挂载这么个说发,在宿主机建一个目录,挂载到容器中,宿主机发生改变,容器也会跟着改变,实时同步语法格式: docker run -d -p 宿主机端口:docker端口 -v src:dest 镜像 参数: 可以是文件也可以是目录具体配置1)建立web站点目录[root@原创 2020-09-01 10:48:56 · 1011 阅读 · 2 评论 -
Docker网络、端口映射详解篇(三)
1.docker容器的网络访问1.1.为甚docker容器的地址是172网段在安装好docker后默认会添加一块网卡,和kvm虚拟化一样,都会生成一块新的网卡与docker容器进行连接1.1.获取docker容器的IP地址语法格式: docker container inspect 容器idcontainer可有可无主要看最后的networks[root@docker01 ~]# docker container inspect 03d28d536053"Networks": {原创 2020-09-01 10:45:10 · 3045 阅读 · 3 评论 -
Docker的安装及日常命令的使用(二)
1.Docker的安装及使用Docker是通过内核虚拟化技术来提供容器的资源隔离与安全保障。由于docker通过操作系统层的虚拟化实现隔离,所以docker容器在运行时,不需要类似虚拟机额外的操作系统开销,提高资源利用率Docker初期把lxc二次开发,后来觉得lxc是在不能满足需求,再次开发了libcontainerDocker的主要目标是“Build,ship,and run any app,angwhere” 构建,传输,处处运行,也就是以此构建,处处运行docker容器也是一种软件的打包技术原创 2020-09-01 10:38:03 · 960 阅读 · 2 评论 -
Docker与虚拟化的区别以及发展历程(一)
docker容器基本概述1.什么是docker容器容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的文件系统、ip地址、主机名等。2.容器和虚拟化的区别Linux容器技术和虚拟化kvm的区别容器资源消耗少、更轻量、性能更高,只能运行在Linux环境kvm虚拟化:需要硬件环境的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程:bios开机自检—根据bios设置的优先启动项启动—mbr引导–加载Linux内核—启动第一个进程)容器虚拟化:原创 2020-09-01 10:22:29 · 1010 阅读 · 2 评论