背景

因工作需要,在服务器通过docker部署了一个wiki.js服务,当初为了省事,通过docker-compose进行部署,同时把数据库连接信息也以环境变量的方式配置在了docker-compose.yml文件中了。

问题

但是最近公司重新部署了网络,数据库的服务ip地址已经发生了改变,导致wiki不能使用。
容器已经生成,修改compose文件已经没有任何意义,而这个服务已经用了很久,也不可能重新部署。这就需要一种可以动态修改容器环境变量的方式。

解决方案

好在经过查找,找到了,记录一下,以备后用。

// 查看容器id,通过以下命令,列出所有容器,记住需要修改的容器的id。
docker container ls -all

CONTAINER ID  IMAGE   COMMAND       CREATED   STATUS     PORTS   NAMES
c7266ebaf77d      requarks/wiki   "docker-entrypoint.s…"   3 months ago   Exited (137) 40 seconds ago  wiki

// 停止容器
docker stop wiki

// 停止Docker服务
service docker stop

// 修改 /var/lib/docker/containers/ID/config.v2.json 中对应的参数

// 启动Docker服务
service docker start

至此,问题解决。

起因

前几天元旦,发红包的时候,想着换个好看的封面,才发现想要找一个封面太难了。网上各种免费领取的都是得先关注再领取,大部分还都是骗关注的。一些企业发放的要么不好看,要么限时领取,根本抢不到。我就想立马找一个红包封面,花几块钱都可以,可就是找不到。

解决方法

找了好久发现有一些红包封面的店铺,价格也不贵,关键是种类多。为了方便过几天春节继续使用,便代理了一个红包封面的店铺。感兴趣的可以直接扫描看看。
1

介绍

红包封面种类比较多。有上百个红包封面,总能找到你想要的。

  • 价格也不贵,普遍也就三四块钱,特价也就1块钱多点,相对于花半个小时网上找,感觉还不如花钱省事呢。
  • 分类比较合理。有游戏类、祝福封面、二次元封面、新年封面、创意封面、爱情封面等等。
  • 省事,24小时自助下单,发货。无论什么时间,从查找到使用也就一两分钟就完事,即使突然要发红包,也完全不耽误。

截图

1
1
1
1

DSM7.0之后没有了Chat套件

想着安装个IM套件,作为团队协作使用,结果安装网上教程第一步就进行不下去了,套件中心压根没有一个叫做Chat的套件。
后来查阅发现,7.0以后已经把这个套件删了。。。。

手动安装

既然不能在套件中心安装,那就手动安装吧

  1. 下载套件:
    打开连接,选择版本,下载套件,如果使用的是DSM7.0以上的系统,请选择2.3.1-11738及以上的版本。直接选择最后一个“Chat-x86_64-2.3.1-11740.spk”版本就行。

https://archive.synology.com/download/Package/Chat/

  1. 进入群晖套件中心页面,点击右上角的手动安装按。
  2. 选择下载好的套件,下一步,之后点击完成,等待安装即可。

背景

写了个wpf程序,需要在服务器上运行一下,开发的时候使用的net core 3.1,服务器上未安装,安装需要重启电脑,明显不可以。

解决

将wpf打包成自宿主的程序,包含所有运行环境一块打包出来。

打包方法

在项目目录下执行如下命令:

dotnet publish -r win-x64 -c Release --self-contained

这里配置了程序在Windows 64位下运行。

提示如下表示已经生成完成了,直接拷贝

PS F:\test> dotnet publish -r win-x64 -c Release --self-contained
用于 .NET 的 Microsoft (R) 生成引擎版本 17.0.0-preview-21501-01+bbcce1dff
版权所有(C) Microsoft Corporation。保留所有权利。

  正在确定要还原的项目…
  所有项目均是最新的,无法还原。
  你正在使用 .NET 的预览版。请查看 https://aka.ms/dotnet-core-preview
  test -> F:\test\bin\Release\netcoreapp3.1\win-x64\test.dll
  test -> F:\test\bin\Release\netcoreapp3.1\win-x64\publish\
PS F:\test>

拷贝到服务器上,双击打开直接使用即可,无需再安装运行时。

说明

看标题很绕,那是因为我目前也不知道怎么处理,但是误打误撞找到了一个临时解决方案,为了防止以后复现此类问题无法解决,这里简单记录一下。

背景

springboot开发的项目、本地使用nexus搭建了maven库,使用gitlab做代码管理,同时配合jenkins进行自动部署。
整体流程就是提交代码到gitlab后,触发jenkins进行编译并部署到docker容器。开发过程中使用了一个第三方的jar包,手动上传到了nexus库中。

问题

清理了jenkins中的.m2缓存的包后,再次在jenkins中构建会提示如下错误:

Downloaded from maven-releases: http://我的nexusip/nexus/repository/maven-releases/e-iceblue/spire.presentation.free/3.9.0/spire.presentation.free-3.9.0.jar (37 MB at 64 MB/s)
[INFO] 
...
Waiting for Jenkins to finish collecting data
[ERROR] Failed to execute goal on project data-maintain: Could not resolve dependencies for project 我的项目:jar:0.0.1-SNAPSHOT: Could not find artifact e-iceblue:spire.presentation.free:jar:3.9.0 in central (https://repo.maven.apache.org/maven2) -> [Help 1]
[ERROR] 

这里的spire.presentation.free-3.9.0.jar便是我使用的第三方jar包,很明显前面已经从我的nexus库中下载了,但是后面又去repo.maven.apache.org中去查找没找的报错了。

解决方案

这个问题困扰了我好久,至今也没找到方案,不过阴差阳错间,找到了个临时方法。过程如下:

  1. pom文件中原本是这样的
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <repositories>
        <repository>
            <id>central</id>
            <url>http://我的nexus地址/nexus/repository/maven-releases</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <url>http://我的nexus地址/nexus/repository/maven-releases</url>
        </pluginRepository>
    </pluginRepositories>

    <modelVersion>4.0.0</modelVersion>
...
  1. 提交,并自动部署。会报上述错误。
  2. 将pom修改为:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
    <modelVersion>4.0.0</modelVersion>
...
  1. 提交,并触发自动部署。仍会报错。
  2. 修改pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 删除了这些配置-->
    <modelVersion>4.0.0</modelVersion>
  1. 提交,并jenkins进行构建。
  2. 竟然好了。

总结

先这样吧,后面找到了具体原因,在更新。