准备一个 vue 项目:
npm i -g @vue/cli
vue create project
cd project
vue add electron-builder
npm run electron:serve
接下来就可以正常开发了。
准备一个 vue 项目:
npm i -g @vue/cli
vue create project
cd project
vue add electron-builder
npm run electron:serve
接下来就可以正常开发了。
EMQX 提供 MQTT 协议服务,使用 docker 可以方便部署:
docker run -d --name emqx -p 18083:18083 -p 31002:1883 emqx/emqx:latest
登录账号:admin,密码:public
@PostMapping("/getRequestBodyJson")
public void getRequestBodyJson(HttpServletRequest request) throws IOException {
BufferedReader reader = new BufferedReader(
new InputStreamReader(request.getInputStream(), "UTF-8"));
String line;
String result = "";
while ((line = reader.readLine()) != null) {
result += line;
}
System.out.println(result);
}
注意不能使用 @RequestBody 注解,否则会空指针错误。因为 request.getInputStream() 只能被读取一次,然后就会被清空。
SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以“解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。Tmux 的作用就是会话与窗口的“解绑”工具,将它们彻底分离。
继续阅读在ECS上利用 docker 部署 jar 包时出现如下错误:
redis.clients.jedis.HostAndPort - cant resolve localhost address
是因为spring-redis在初始化时会实例化LocalHost,但是ECS的host name并没有在设置,解决方案是在 /etc/hosts 中设置ECS的host name。
比如:ssh 登录后,界面显示 user@abcdefg ,则在 /etc/hosts 中添加 127.0.0.1 abcdefg 。
1、准备好 docker 环境。
2、拉取镜像:
docker pull portainer/portainer
3、运行实例:
# 单机(本机)
docker run -d --name portainer -p 9000:9000 -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer
# 群集
docker run -d --name portainer -p 9000:9000 portainer/portainer
4、添加 docker registries
名称:microsoft
地址:dockerhub.azk8s.cn
admin openmediavault
debian
vim /etc/apt/source.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
kernel-backports
vim /etc/apt/sources.list.d/openmediavault-kernel-backports.list
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
omv
vim /etc/apt/sources.list.d/openmediavault.list
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul-proposed main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul partner
ssh 登录后,执行:
# 官方(可能被墙)
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
或手动下载安装:https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers/pool/main/o/openmediavault-omvextrasorg/
配置源
vim /etc/apt/sources.list.d/omvextras.list
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul buster main
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
deb http://linux.teamviewer.com/deb stable main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-testing buster main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-extras buster main
Termux是一个 Android 下一个高级的终端模拟器,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持Python,PHP,Ruby,Go,Nodejs,MySQL等。随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造完全可以把手机变成一个强大的工具。
Google Play下载的版本比酷安要新,有能力建议下载Google PLay版本的。
1、准备工作:安装docker
2、docker 安装 mongodb
docker pull mongo
docker run -itd --name mongo -p 27017:27017 mongo --auth
–auth:需要密码才能访问容器服务。
$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
# 指定某表管理员
> db.createUser({user:'user',pwd:'123456',roles:[{role:'readWrite',db:'mydb'}]});
# 所有表只读
> db.createUser({user:'user',pwd:'123456',roles:['read']});
3、mongo-express
docker run -it --name mongo-express --link mongo -d -p 8081:8081 -e ME_CONFIG_OPTIONS_EDITORTHEME="3024-night" -e ME_CONFIG_BASICAUTH_USERNAME="mongoexpress" -e ME_CONFIG_BASICAUTH_PASSWORD="mongoexpress" -e ME_CONFIG_MONGODB_ADMINUSERNAME="mongoadmin" -e ME_CONFIG_MONGODB_ADMINPASSWORD="mongoadmin" mongo-express
docker network ls 可以查看当前所有的 Docker NETWORK
4、Docker Compose 实现
创建文件 stack.yml
version: '3.1'
services:
mongo:
image: mongo:4.1.6
ports:
- 27017:27017
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: mongoadmin
mongo-express:
links:
- mongo
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: 3024-night
ME_CONFIG_BASICAUTH_USERNAME: mongoexpress
ME_CONFIG_BASICAUTH_PASSWORD: mongoexpress
ME_CONFIG_MONGODB_ADMINUSERNAME: mongoadmin
ME_CONFIG_MONGODB_ADMINPASSWORD: mongoadmin
docker-compose -f stack.yml up
全文中涉及到的用户名、密码、版本视实际情况修改。
更多使用说明:https://hub.docker.com/_/mongo
docker pull rabbitmq:management
docker run -d -p 5672:5672 -p 1883:1883 -p 15672:15672 --name rabbitmq rabbitmq:management
# 插件列表
docker exec -it rabbitmq rabbitmq-plugins
# 启用 MQTT
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
管理界面:http://localhost:15672,用户名和密码都是 guest 。