首页
Search
1
v2ray异常错误之二
3,310 阅读
2
linux时区设置
2,698 阅读
3
DB2常用操作
2,173 阅读
4
websphere修改jvm内存xmx和xms
1,929 阅读
5
nfs客户端文件属主为nobody的现象
1,552 阅读
技术
生活
运动
游戏
电影
登录
Search
标签搜索
docker
linux
troubleshooting
nginx
secure
truenas
mysql
windows
python
esxi
docker swarm
oracle
zabbix
tomcat
blog
dsm
群晖
rpa
freenas
db
yuc
累计撰写
291
篇文章
累计收到
0
条评论
首页
栏目
技术
生活
运动
游戏
电影
页面
搜索到
22
篇与
的结果
2023-07-19
portainer之使用
0x1 首先说说为什么使用 portainer,因为他在免费开源的同类管理容器平台的工具中,算是比较好用的。再就是我们技术人员可以操控命令行为什么还需要它呢?答案是给其他人员用,并且使用起来也相对方便。比如我们想要进入 docker swarm 集群中的某个容器内,那么需要先定位到此服务在哪个机器,然后在此机器中进入,但是使用 portainer 在列表中找到后可以直接进入。 0x2 再说说具体的使用感受,一开始使用的社区版,主要功能是有的,什么镜像管理,容器管理,创建服务,服务管理。但是体验差的地方也有,比如:1. 权限管理简单,要么只读要么管理员。 2. 不稳定,经常出现刷新不出数据的情况 针对上面的情况,我选择了申请试用商业版,但惊喜的是商业版 license 可以免费试用 5 个 agent 节点。果然商业版不一样,上面的问题都得到了解决。最后看看 portainer 的部署步骤: agent 部署: docker service create \ --name portainer_agent \ --network mynets \ -p 9001:9001/tcp \ --mode global \ --constraint 'node.platform.os == linux' \ --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \ portainer/agent:2.18.3 server 部署: docker service create \ --name portainer \ --network mynets \ --mount type=bind,src=/docker/others/portainer/data,dst=/data \ --publish 9000:9000 \ --constraint 'node.role == manager' \ --replicas=1 \ harbor.succez.com/base/portainer/portainer \ -H "tcp://tasks.portainer_agent:9001" --tlsskipverify
2023年07月19日
5 阅读
0 评论
0 点赞
2023-06-28
harbor的安装部署
说明 harbor可以图形化的方式来管理镜像,这个相对于原生的惊喜那个仓库是比较好的。 再就是安装可以关闭 https,仅使用 http,或者https使用自签证书 安装步骤总体是比较简单的 步骤 解压后修改 harbor.yml 配置文件,修改几个参数: admin密码 数据目录位置 日志目录位置 是否需要http或者https协议,不需要的话注释掉,或者指定证书路径 接下来执行脚本./install.sh 维护 管理的话,可以在这个安装目录下使用 docker compose start/stop 再就是如果需要修改端口或者其他配置,因为目前没有找到比较好的方式,所以选择通过删除容器的方式,重新执行 ./install 安装的话,但数据貌似不会丢失,因为已经持久化到之前指定的目录 如何升级 升级方法 harbor的升级有指定的升级路径,建议总是参考官方提供的路径,避免跨太多版本导致功能出现问题 1.9.3 -> 1.10.0 停止环境 cd harbor docker-compose down 备份原来的harbor目录 mv harbor /my_backup_dir/harbor 备份数据库 cp -r /data/database /my_backup_dir/ 一般默认是存在 /data/database 下,但是自定义过配置文件,那么参考 harbor.yml 中的路径 4. 下载最新的离线包,并且导入镜像 tar zxf <offline package> docker image load -i harbor/harbor.[version].tar.gz 运行migrate镜像合并数据 docker run -it --rm -v ${harbor_yml}:/harbor-migration/harbor-cfg/harbor.yml goharbor/harbor-migrator:[tag] --cfg up 把之前的备份的 harbor.yml 配置文件拷贝到解压后的 harbor 目录下,然后指定这个配置文件即可 6. 安装新版本 ./install.sh 1.10.0 -> 2.x 后续版本升级跟前面流程基本一致,就是执行 migrate 和 prepare 镜像有一些区别
2023年06月28日
5 阅读
0 评论
0 点赞
2023-06-20
docker如何更改数据存储目录
0x1 不管是docker单节点,还是集群,每一个docker主机都是有自己的数据存储目录的,docker默认的数据存储目录是/var/lib/docker,有时候根分区比较小,我们又不想单独挂载此目录,这时候应该怎么办呢? 0x2 可以根据官方的方案,启动之前增加参数,以指定docker的数据存储目录,流程大致如下: docker 刚安装完未启动 增加docker配置文件目录 /etc/docker 增加docker数据存储目录 /data/docker 新建文件 /etc/docker/daemon.json ,并且增加内容 { "registry-mirrors": ["http://hub-mirror.c.163.com"], "data-root": "/data/docker" } 这里第二个参数 data-root 即是指定数据目录 0x3 docker service create 的时候报错,无法拉取镜像: could not be accessed on a registry to record its digest. Each node will access independently, possibly leading to different nodes running different versions of the image 之后创建步骤一直提示找不到镜像,查看 /var/log/messages 日志,显示协议是https,并且提示没有权限访问仓库。这里做了如下测试和尝试的解决办法: 手动 docker pull/push 镜像,所有节点都无问题,所以本机认证是没有问题的 测试 docker login hub.xxx.com 也无问题,说明 harbor 仓库是没有问题 之前没有证书所以harbor只开启了 http 协议,并且 /var/log/messages 也提示了一些 https关键字,所以修改harbor自签证书增加 https,但仍然不行 在 /etc/docker/daemon.json 中增加 insecure-registries 也不行 最后无奈,查看手动 docker pull 和 docker service create 的时候 harbor 的相关日志,确实发现了问题,在 harbor 的 nginx 代理日志中,正常拉取的时候返回值正常,请求大小是镜像大小,但是异常的pull响应都是401 最后 根据权限问题找了很多帖子,没有很好的解决办法,最后只能使用一个规避方法,增加 --with-registry-auth 参数,格式大概如下: docker service create \ --name xxx \ --network mynets \ --mode global \ --with-registry-auth \ harbor.xxx.com/xxx/xxx/xxx 这样创建容器,测试多次都正常了
2023年06月20日
405 阅读
0 评论
0 点赞
2022-06-29
docker的一些小技巧
swarm 默认网络无法获取到客户端真实的ip,如果nginx/dns等服务需要真实ip,那么可以使用host模式 -p mode=host,target=80,published=80 以上使用host模式后只有容器所在的节点能够提供服务了,无法从任意节点定位,可以设置成全局每个节点都运行此服务来解决,最后设置vip,由vip的节点来提供服务 --mode=global 如果在多副本的创建过程中某个节点失败了,获取不到镜像,虽然手动拉取了,但是一直也不成功,这时候可以中断,其他节点是运行成功的,状态参考如下: [root@node1 bind]# docker service ps bind9 ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS pvuko661l0di bind9.ef1dsojktw8h14ijgnvruuxn5 internetsystemsconsortium/bind9:9.18 node1 Running Running 19 minutes ago *:53->53/udp,*:53->53/udp,*:53->53/tcp,*:53->53/tcp 5vh5fqwy8lyi bind9.lp5ohtozpxy7uq3u3dbtysgaw internetsystemsconsortium/bind9:9.18 node5 Running Running 19 minutes ago *:53->53/tcp,*:53->53/tcp,*:53->53/udp,*:53->53/udp k6f6xnhpsmtk bind9.oow0gju8qlwr64jkd0r8l3283 internetsystemsconsortium/bind9:9.18 node4 Running Running 19 minutes ago *:53->53/udp,*:53->53/udp,*:53->53/tcp,*:53->53/tcp q14rzr9qfzrp bind9.pxf8dpz671vtbqv8gx8dw1tgl internetsystemsconsortium/bind9:9.18 node6 Running Running 19 minutes ago *:53->53/tcp,*:53->53/tcp,*:53->53/udp,*:53->53/udp jz81g74ok3bj bind9.rs1b1hsnc7zd7x081xuyahy8g internetsystemsconsortium/bind9:9.18 node7 Running Running 19 minutes ago *:53->53/tcp,*:53->53/tcp,*:53->53/udp,*:53->53/udp zacx3zxwyc2j bind9.yu17kuix56z3aemh63ij4hedy internetsystemsconsortium/bind9:9.18 node2 Shutdown Rejected 19 minutes ago "No such image: harbor.xxx.…" 5ry1tkgedliv bind9.zk4e1d1eyzn9kmarxx2c6yh5b internetsystemsconsortium/bind9:9.18 localhost.localdomain Running Running 9 minutes ago *:53->53/udp,*:53->53/udp,*:53->53/tcp,*:53->53/tcp 那么该如何让这个节点运行起来呢,经测试执行update即可 docker service update bind9 如果某个服务的配置文件更新,又不想重启docker,或者设置副本为0再启用,或者进入容器内重启服务,使用update又无效果,因为此服务本身的属性没有变化。则可以强制更新 docker service update bind9 --force
2022年06月29日
953 阅读
0 评论
0 点赞
2022-06-16
docker升级版本
0x1 方式 一般我们通过yum或者rpm离线方式安装后也能通过同样的方式升级,但是外网建议以yum方式升级,如果增加了一些依赖也能自动处理 0x2 版本 可以确定目前运行的docker server版本 docker info 其次还需要确定cli命令行版本,如果比较喜欢用命令行模式的话 # 这里遇到了一个问题,之前一直没想到server和cli是分开的,以为升级版本后看到docker info是新版本就ok了,但后来在命令行更新容器功能的时候发现命令参数没有,排查半天才发现cli版本还是旧的,需要单独升级 docker -v 猜测docker -v和docker info版本不一致的原因是,docker命令只是一个cli的客户端,info信息是客户端接入到服务端后获取的 0x3 升级 提供如下源地址,根据操作系统版本下载离线包,或者自己做yum源即可 https://download.docker.com/linux/centos 升级server版本 yum -y update docker-ce 升级cli命令行 yum -y update docker-ce-cli
2022年06月16日
978 阅读
0 评论
0 点赞
1
...
3
4
5