对于想了解使用docker私有化部署nugetserver-proget的读者,本文将是一篇不可错过的文章,我们将详细介绍用docker部署私有云的优势,并且为您提供关于10分钟学会VSNuGet包私
对于想了解使用docker私有化部署nuget server-proget的读者,本文将是一篇不可错过的文章,我们将详细介绍用docker部署私有云的优势,并且为您提供关于10分钟学会VS NuGet包私有化部署、CentOS7.5 使用Docker部署Jumpserver、centos7上的docker安装nugetserver、Docker (error getsockopt: connection refused ,使用 http 无法使用 docker login 登录的问题)的有价值信息。
本文目录一览:- 使用docker私有化部署nuget server-proget(用docker部署私有云的优势)
- 10分钟学会VS NuGet包私有化部署
- CentOS7.5 使用Docker部署Jumpserver
- centos7上的docker安装nugetserver
- Docker (error getsockopt: connection refused ,使用 http 无法使用 docker login 登录的问题)
使用docker私有化部署nuget server-proget(用docker部署私有云的优势)
在linux上使用docker部署proget
首先创建共用网络proget
docker network create proget
创建postgresql库
docker run -d -v /etc/localtime:/etc/localtime:ro -v /var/proget/db:/var/lib/postgresql/data --net=proget --name=proget-postgres --restart=unless-stopped postgres:latest
创建proget
docker run -d -v /etc/localtime:/etc/localtime:ro -v /var/proget/packages:/var/proget/packages -v /var/proget/extensions:/var/proget/extensions -p 5080:80 --net=proget --name=proget --restart=unless-stopped inedo/proget:latest
访问http://ip:5080就可以看到proget
去proget官网申请lisence
上传nuget包,在VS中配置地址就可以使用了
10分钟学会VS NuGet包私有化部署
前言
我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的。
命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)
web版本(推荐):小白2分钟学会Visual Studio将引用包打包到NuGet上
其实官方也提供了私有化部署(NuGet.Server、ProGet、MyGe等),我们就来基于BaGet进行搭建一个私有NuGet环境。
什么是BaGet
BaGet 是GitHub上开源的一个项目,是一个轻量级NuGet和符号服务器,是NuGet V3 服务器的开源实现。
搭建私有化BaGet服务器
我们以自己的本地环境充当服务器环境为例
进入BaGet下载地址下载release包,下面是我下载的版本,你也可以选择其他版本:
https://github.com/loic-sharma/BaGet/releases/download/v0.3.0-preview4/BaGet.zip
如下讲解怎么选择版本下载,点击进入BaGet下载地址,点击Releases选择版本,进入后点击BaGet.zip进行下载。
BaGet下载地址:https://github.com/loic-sharma/BaGet
将下载后的BaGet.zip文件解压,修改appsetting.json 配置文件,不需要修改什么,只需要修改自己的api keys和服务器地址即可。由于这里是测试,api keys就不填了,不影响操作。。
里面的具体配置操作可参考官方文档,
注意启动服务的前提是要安装.NetCore SDK,由于安装了.NET Core,所以自带的有,如果没有的需要安装sdk。
在BaGet.zip文件解压目录(BaGet文件目录)下打开命令行,执行:dotnet BaGet.dll
执行:dotnet BaGet.dll
打开浏览器,运行http://localhost:5000 即可看到nuget 服务已启动。
上传程序包到私有化服务器
创建一个类库用于测试,我们还是以之前的“繁简体相互换换”为例。
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter; using System; namespace XiongZeUtils { public static class xzUtils { /// <summary> /// 简体转换为繁体 /// </summary> /// <param name="str">简体字</param> /// <returns>繁体字</returns> public static string GetTraditional(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional); return r; } /// <summary> /// 繁体转换为简体 /// </summary> /// <param name="str">繁体字</param> /// <returns>简体字</returns> public static string GetSimplified(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified); return r; } } }
右键项目,选择打包:
打包完成会得到一个nupkg文件,版本在右键-》属性-》打包里面进行配置:
在刚刚的浏览器看一下看一下Upload命令:
在上面打包目录下打开命令行执行:
dotnet nuget push -s http://localhost:5000/v3/index.json XiongZeUtils.1.0.3.nupkg
注意,这里是打包路径,也就是生成XiongZeUtils.1.0.3.nupkg文件的目录,和上面解压目录执行dotnet BaGet.dll的是两个地方,不要混淆。
推送包成功后,我们再去http://localhost:5000/的Packages查看一下,私有化打包发布成功。
使用私有化程序包
在vs2019中打开:工具-选项-NuGet包管理器-程序包源。添加一个源,输入名称,源:http://localhost:5000/v3/index.json(自己的服务器地址)
在NuGet里面就能查询到私有服务器上的程序包了
到此这篇关于10分钟学会VS NuGet包私有化部署的文章就介绍到这了,更多相关VS NuGet包私有化部署内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
- vscode使用nuget包管理工具
- VS2019 找不到资产文件 “xxxx\obj\project.assets.json”运行NuGet包还原以生成此文件(解决方案)
- 在VS2009中集成自动上传nuget包到服务器的解决方案
- 通过VS下载的NuGet包修改其下载存放路径的操作方法
CentOS7.5 使用Docker部署Jumpserver
1.环境准备
# 查看系统版本
$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
# 查看内核版本
$ uname -a
Linux m01 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# 查看IP
$ hostname -I
10.0.1.61 172.16.1.61
2.设置时间同步
推荐使用chrony做时间同步,已使用ntp时间服务器可忽略
参考本相博客(https://www.pingface.com/archives/chrony)
3.docker环境准备
①使用国内源安装docker-ce
$ yum remove docker docker-common docker-selinux docker-engine
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
$ sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
$ yum clean all
$ yum makecache fast
$ yum install docker-ce -y
$ systemctl start docker
$ systemctl enable docker
$ docker --version
or
$ docker version
②国内源镜像加速配置
$ mkdir -p /etc/docker
$ vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
$ systemctl restart docker
4.安装Jumpserver
①生成随机秘钥
# 生成随机加密秘钥, 勿外泄
$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
$ if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
# macOS生成随机key可以用下面的命令
$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bash_profile; echo $SECRET_KEY; else echo $SECRET_KEY; fi
$ if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bash_profile; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
②pull镜像
# 1.5G左右镜像,需要很长时间
$ docker pull docker.io/jumpserver/jms_all:latest
③运行镜像
$ docker run --name Jumpserver -d -p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:latest
④本地访问
浏览器访问: http://<容器所在服务器IP>
SSH 访问: ssh -p 2222 <容器所在服务器IP>
XShell等工具请添加connection连接, 默认ssh端口:2222
默认管理员账户:admin 密码:admin
5.Jumpserver应用
请参考之前发的PDF文档,里面有详细的说明步骤。
6.参考博客:
https://www.jianshu.com/p/dc9ffc7483d8
https://jumpserver.readthedocs.io/zh/master/dockerinstall.html
centos7上的docker安装nugetserver
1,在nuget官网注册一个账号并拿到apikey,https://www.nuget.org/
1,阿里云服务器上的centos7安装nugetserver,在命令行输入,打开xshell连接进入后再命令行输入:docker run -d -p 9022:80 -e NUGET_API_KEY=【apikey】 -v /docker/nuget/database:/var/www/db -v /docker/nuget/packages:/var/www/packagefiles --name nuget sunside/simple-nuget-server
2,服务器上开放9022端口
3,使用打包nuget并上传到nuget服务
1>按照命令行安装下载nuget打包工具https://archive.codeplex.com/?p=npe https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
如果出错了可以参照该链接解决 https://www.jb51.net/article/95022.htm
安装后出现图标
2>打开vs选择要打包的项目右键》发布,发布后会生成一个nupkg包
3>上传nuget包两种方式
1、选择第三个,左边是nuget包信息,右边把你要打包的dll放在lib文件下然后把lib文件夹拖拽进去,点击file后输入你的nuget服务地址和apikey,具体操作请参考其他笔友的https://blog.csdn.net/u011523479/article/details/82012340
2、选择第一个,找到已经打包好的nupkg文件修改包id和版本号,然后再继续发布
4>打开vs选择工具》Nuget包管理器》程序包管理器设置,设置你的nuget服务源
4》在你所要添加引用的项目中打开管理nuget程序包,选择你的nuget源,找到你要安装引用的nuget包
5>删除nuget包:下载工具nuget.exe,打开命令行,输入nuget delete 《packageid》 <版本> -ApiKey 《apikey》 -Source 《nuget服务器地址》 -NoPrompt
Docker (error getsockopt: connection refused ,使用 http 无法使用 docker login 登录的问题)
因部署 Harbor 镜像仓库,部署完了之后根据提示上传 images,需要使用 docker login ip:port 进行登录,
登录的时候发现因为 docker 默认是 https,因为测试环境就没有配置证书,所以必须添加非安全的 registry,
下面就是开始在各种找教程。。。。解决方法试了 N 种都不行
总结为以下几点
[root@ymedy-china docker]# cat /etc/docker/daemon.json
{
"insecure-registries":["192.168.10.110:80"]
}
还是不行
[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin): admin
Password:
Error response from daemon: Get https://192.168.10.110/v1/users/: dial tcp 192.168.10.110:443: getsockopt: connection refused
[Service]
Type=notify
NotifyAccess=main
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current --insecure-registry 192.168.10.110 \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
--init-path=/usr/libexec/docker/docker-init-current \
--seccomp-profile=/etc/docker/seccomp.json \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
$REGISTRIES
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
"/usr/lib/systemd/system/docker.service" 41L, 1344C written
可用
[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin): admin
Password:
Login Succeeded
3、 vim /etc/sysconfig/docker 可用
OPTIONS=''--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry=192.168.10.110''
可用
[root@ymedy-china docker]# docker login 192.168.10.110
Username (admin):
Password:
Login Succeeded
今天关于使用docker私有化部署nuget server-proget和用docker部署私有云的优势的讲解已经结束,谢谢您的阅读,如果想了解更多关于10分钟学会VS NuGet包私有化部署、CentOS7.5 使用Docker部署Jumpserver、centos7上的docker安装nugetserver、Docker (error getsockopt: connection refused ,使用 http 无法使用 docker login 登录的问题)的相关知识,请在本站搜索。
本文标签: