当前位置: 首页 > news >正文

Docker Compose与私有仓库

Docker Compose与私有仓库

docker-compose -v 查看版本信息

Docker Compose的应用

创建APACHE容器

vim docker-compose.yaml

yaml文件缩进严格;冒号后有内容需要加空格,冒号后无内容一般不加空格
冒号后的内容中若包含路径‘/’或‘:’时最好在内容外添加引号,单引号/双引号都可以

services:webapp:image: 'httpd:latest'ports:- "80:80"- "443:443"volumes:- "/var/www/html:/usr/local/apache2/htdocs:rw"

运行docker-compose命令时需要在上面的yaml文件目录下

docker-compose up -ddocker-compose start/stop webapp //启动/关闭webapp
docker-compose kill webapp //强制关闭webapp
[root@localhost ~]# docker-compose port webapp 8080
no port 8080/tcp for container root-webapp-1: 443/tcp, 443/tcp, 80/tcp, 80/tcp        //80和443出现两次的原因是分为ipv4和ipv6
为容器做副本需要取消端口映射,取消端口映射不会自动进行端口映射 因为为容器做副本一般是在集群环境中,不需要直接访问容器
为容器做副本
docker-compose scale webapp=3

创建nginx容器

services:webnginx:image: 'nginx'ports:- '80:80'volumes:- '/www/html:/www/html:rw'- '/opt/nginx/nginx.conf:/etc/nginx/nginx.conf'

Harbor

安装Harbor

首先需要在官网下载离线安装包
harbor
harbor2
将安装包上传到节点后解压

[root@localhost ~]# tar -zxvf harbor-offline-installer-v2.4.3.tgz
解压后的目录文件如下:
[root@localhost ~]# cd harbor
[root@localhost harbor]# ls
common.sh  harbor.v2.4.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
配置harbor
将配置文件模板拷贝一份,并命名为harbor.yml,这是默认的配置文件名称:
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
编辑harbor.yml文件,按照如下说明修改几处配置项:
[root@localhost harbor]# vim harbor.yml
# 修改为当前所在节点的ip
hostname: 192.168.10.102# 登录界面的密码
harbor_admin_password: pwd123# 将https相关的配置给注释掉,这里为了简单只使用http,而且也可以在nginx那一层去做https
# https related config
#https:# https port for harbor, default is 443
#  port: 443# The path of cert and key files for nginx
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path[root@localhost harbor]# ./install.sh
注意:
注释掉https相关的行

之后可以使用浏览器访问本机IP,即可登录harbor进行配置

使用其他节点访问本机Harbor时需要指定本地仓库,在/etc/docker/daemon.json中添加如下行

"insecure-registries": ["192.168.10.106"]

上传镜像到harbor

Harbor对上传镜像名称格式要求:项目服务器IP/项目/镜像名称:TAG
使用docker tag命令改名
需要事先上传nginx的配置文件到指定的路径

docker push 192.168.10.106/kubernetes/cirros:v1
http://www.lryc.cn/news/421384.html

相关文章:

  • AI学习记录 - gpt如何进行token化,理论知识,以GPT2为举例
  • Java线程池和执行流程
  • 进程信号的产生与处理
  • 统一响应结果封装,Result类的实现【后端 06】
  • 明日周刊-第20期
  • 深入剖析 Spring 常用注解:功能与差异的全景洞察
  • 【隐私计算篇】隐私计算使用不当也会泄露原始数据
  • C++第一讲:开篇
  • OceanBase V4.2特性解析:MySQL模式下GIS空间表达式的场景及能力解析
  • HSL模型和HSB模型,和懒人配色的Color Hunt
  • 什么是云原生?(二)
  • pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
  • LeetCode_sql_day15(262.行程与用户)
  • 【MySQL】详解数据库约束、聚合查询和联合查询
  • bug积累
  • 版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)
  • Anaconda配置envs和pcks路径
  • 推荐10个在线搭建框架平台
  • Linux Shell--函数
  • 漏洞复现-CVE-2023-42442:JumpServer未授权访问漏洞
  • 【数据结构之带头双向循环链表的实现】
  • 【docker】docker数据卷与网络部署服务
  • Spring MVC框架学习笔记
  • LeetCode 100道题目和答案(面试必备)(一)
  • OpenGL投影矩阵
  • Linux中的`make`与`Makefile`:项目自动化构建工具
  • GitHub开源项目精选:轻量级预约/预订日历组件,用React和TypeScript构建
  • 闲钱放在哪里?收益稳定且又高!
  • 【Linux】简易线程池项目
  • 基于vue框架的NBA球星管理系统1878g(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。