首页 文章 精选 留言 我的

精选列表

搜索[知识库管理],共10000篇文章
优秀的个人博客,低调大师

Docker之7 仓库管理

什么是Docker Registry Docker Registry是一个私有镜像仓库服务,可存储和分发Docker镜像。 如何安装Docker Registry 使用Docker命令直接运行启动一个Registry容器即可 http 模式 docker run -d \ --restart=always \ --name registry \ -v /data/registry:/var/lib/registry \ -p 5000:5000 \ registry https 模式 申请SSL证书,在这里我们使用阿里云的免费SSL证书 将证书和私钥文件存储在Docker主机上 yekangming.com.key yekangming.com.pem --> Docker Host: /data/certs 将证书拷贝到Docker客户端上 yekangming.com.pem --> Docker Client: /etc/docker/certs.d/ docker run -d \ --restart=always \ --name registry \ -v /data/registry:/var/lib/registry \ -v /data/certs:/certs \ -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.yekangming.com.pem \ -e REGISTRY_HTTP_TLS_KEY=/certs/registry.yekangming.com.key \ -p 443:443 \ registry 上传镜像测试 docker tag centos:latest registry.yekangming.com/centos:latest docker push registry.yekangming.com/centos:latest 下载镜像测试 docker rmi registry.yekangming.com/centos:latest docker pull registry.yekangming.com/centos:latest

优秀的个人博客,低调大师

Java管理——Gradle使用速记

安装 安装SDKMAN Gradle在安装之前可以选择很多安装方式,这里选择SDKMAN。其他方式见安装说明。 linux安装SDKMAN,分别执行: # 下载安装执行 $ curl -s "https://get.sdkman.io" | bash # 自行设置 $ source "$HOME/.sdkman/bin/sdkman-init.sh" 安装结果测试。 输入: $ sdk version 成功安装会输出: ==== BROADCAST ================================================================= * 02/07/18: Kscript 2.4.5 released on SDKMAN! #kscript * 28/06/18: Micronaut 1.0.0.M2 released on SDKMAN! #micronautfw * 27/06/18: Infrastructor 0.2.0 rolling out. With stronger encryption and new task progress UI. ================================================================================ SDKMAN 5.6.4+305 安装Gradle Gradle需要JDK7以上才能运行,请先使用java -version命令确定环境。 使用SDKMAN安装Gradle: # 4.8.1是当前gradle的版本,根据需要调整 $ sdk install gradle 4.8.1 安装完成后输入gradle -v检查安装结果: $ gradle -v ------------------------------------------------------------ Gradle 4.8.1 ------------------------------------------------------------ Gradle基础要点知识 一个Gradle文件(例如build.gradle)视为一个project。在Gradle的项目组织中就2个层级——Project和Task。 在Gradle中有3个重要的概念Project、Plug、Task。三者的关系:Project就是一个容器,里面可以放置各种类型的Task,Plug是一堆Task的集合。 Gradle中所有的功能都是以一个Task实现的,包括Jar包的依赖。 Properties:Project和Task都有自己的属性(Properties)。Project级别的属性可以设置,也可以通过外部传入。 一个配置案例 /** build.gradle 这是一个使用 gradle init --type java-application创建的Gradle Project,进行了一些修改 整个文件的范围都是一个Project。 **/ // --------------------------------------------------------------------- // 引入预设的Plug // 一个plug中会包含多个Task // plugins是Project的一个方法 // 里面的id实际上也是一个方法。 plugins { id 'java' id 'application' } // 资源路径的设置参数。用于java plug中的task // Gradle的资源路径和Maven的几乎一样,也可以单独配置 sourceSets { main { java { srcDir 'src/main/java' } resources { srcDir 'src/main/resources' } } } //----------------------------------- /** 如果不设置,资源路径默认为: src { main{ java res } test{ java res } } **/ //----------------------------------- // mainClassName可以理解为一个变量 // 定义这个程序的Main Class,实际上这也是在设定一个Project的属性 mainClassName = 'App' //预设一个用于装载结构的类,Gradle使用groovy语法 class GroupAndVersion { String group String version } // 向project添加一个名为“spring”的属性,属性的值是一个GroupAndVersion的一个实例。 // ext是Project的一个方法,作用就是添加一个属性。 ext { spring = new GroupAndVersion(group:'org.springframework', version:'5.0.7.RELEASE') } // dependencies 是由某个plug中的预设的“方法”, // Gradle是groovy语法,这里就是执行Project.dependencies方法 // Plug中可以用project.extensions.create扩展Project中的定义方法 dependencies { //compile表示引入包的执行域 compile 'com.google.guava:guava:23.0' //使用定义好的属性引入包 compile group: spring.group, name: 'spring-core', version: spring.version compile group: spring.group, name: 'spring-beans', version: spring.version compile group: spring.group, name: 'spring-context', version: spring.version testCompile 'junit:junit:4.12' } // repositories与dependencies一样的性质,同样会被用于某个task // repositories用于指定依赖仓库 repositories { jcenter() } // 自定义的一个任务,用于呈现当前依赖包的物理地址 task show << { println configurations.compile.asPath } 配置文件对应的工程结构: project --bin IDE动态编译的文件(Eclipse) ----main ----test --build 运行gradle build命令生成的文件 ---- classes Java 工程目录对应的.class文件 ---- distributions 打包之后的压缩包 ---- lib 打包之后的jar ---- report 测试报告 ---- scripts 打包之后的启动脚本 ---- test-result 测试结果 ---- tmp 临时文件,比如会在打包jar之前临时存放MANIFEST.MF --gradle gradle执行相关的文件,比如gradle-wrapper --src 源码和资源 ----main ----text --build.gradle --gradlew --settings.gradle 设置仓库源 默认情况下Gradle会使用Maven或Ivy的中央仓库,在当前用户的${home}.gradle文件下新建一个init.gradle文件,然后写入: allprojects{ repositories { def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL." remove repo } } } maven { url REPOSITORY_URL } } } 这样链接的仓库会执行国内的阿里镜像。 快速初始化项目 Gradle提供了初始化各自类型项目的命令: $ gradle init --type <name> # <name>取以下值 # java-application java应用程序 # java-library jar包 # scala-library scala包 # groovy-library groovy包 # basic 基本工程 # 配置出来的工程结构都可以在后期通过修改build.gradle修改

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册