Ubuntu

Dockerfile实践小提示

瘦欲@ 提交于 2020-08-15 07:53:52
https://mengz.me/posts/dockerfile-practies-tips/ 在进行应用容器化的实践中,我们可以使用多种方式来创建容器镜像,而使用 Dockerfile 是我们最常用的方式。 而且在实现CI/CD Pipeline的过程中,使用Dockerfile来构建应用容器也是必须的。 本文不具体介绍Dockerfile的指令和写法,仅仅是在实践中积累的一些写好一个Dockerfile的小提示,体现在一下几个方面: 减少构建时间 减小镜像大小 镜像可维护性 重复构建一致性 安全性 <!-- more --> 减小构建时间 首先来看看下面这个Dockerfile FROM ubuntu:18.04 COPY . /app RUN apt-get update RUN apt-get -y install ssh vim openjdk-8-jdk CMD [“java”,”-jar”,”/app/target/app.jar”] 要减小构建的时间,那我们可以例如Docker构建的缓存特性,尽量保留不经常改变的层,而在Dockerfile的指令中, COPY 和 RUN 都会产生新的层,而且缓存的有效是与命令的顺序有关系的。 在上面的Dockerfile中, COPY . /app 在 RUN apt-get ... 之前,而COPY是经常改变的部分

旧 WCF 项目迁移到 asp.net core + gRPC 的尝试

送分小仙女□ 提交于 2020-08-15 07:49:17
一个月前,公司的运行WCF的windows服务器down掉了,由于 AWS 没有通知,没有能 第一时间 发现问题。 所以,客户提出将WCF服务由C#改为JAVA,在Linux上面运行;一方面,AWS对Linux有较多的监控措施,另一方面,假如出现问题,可以设置自动重启等服务。 老旧的WCF服务 目前WCF服务,主要提供windows桌面软件的 数据接口 ,应该有五六年的历史了。我进入公司后,WCF服务的代码,一直由我一个人来维护。存在很多 历史遗留问题 ,也有 不同版本 的共存。 如果java重写的话,其中的业务逻辑代码,难免会出现各种各样的bug,增加开发和测试的工作量。听说,要移植到linux服务上后,第一时间想到的就是 跨平台 的 .net core 。 .net core 经过了四年的发展,到目前的 3.1 LST版本,已经是 非常成熟 的跨平台解决方案了。 之后,我就在网上查找,有没有WCF的.net core 版本,查询到的信息总结如下: Core WCF不打算做WCF到.NET Core的100%兼容的移植; 对于新应用程序,WCF这种SOAP技术不建议使用; 对于老的应用程序,建议将这些保留在.NET Framework上; 如果您真的想将一个旧的应用程序迁移到.NET Core并且想继续使用WCF和WF, 社区的开源项目也是可以的

如何选择阿里云服务器操作系统?阿里云操作系统说明指南

こ雲淡風輕ζ 提交于 2020-08-15 07:02:56
随着网站服务器技术的发展,越来越多的站长建站首先选择云服务器。时下阿里云云服务器ECS脱颖而出,成为多数站长网站服务器的首选。那么对于刚刚接触云服务器的站长来说,如何选择适合网站的阿里云云服务器ECS操作系统,阿里云云服务器ECS的操作系统有什么区别,阿里云linux服务器和windows服务器有何不同呢。 前提:若后期有需求购买阿里云任何产品的朋友,可以提前领取优惠劵。后期可为大家减少成本: 点击领取阿里云优惠劵 阿里云个人购买 + 阿里云企业购买 首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别: 1. Windows 1.1)系统内含正版激活。 1.2)适合于运行Windows下开发的程序,如.net等。 1.3)支持SQLServer等数据库(需自行安装)。 1.4)可以使用远程桌面方式登录进行管理。 注:512内存不支持选择Windows系统,1G以上内存才能很好支持该系统。 2. Linux 2.1.1)最流行的服务器端操作系统,强大的安全性和稳定性。 2.1.2)免费且开源,轻松建立和编译源代码。 2.1.3)通过SSH方式远程访问您的云服务器。 2.1.4)一般用于高性能web等服务器应用,支持常见的PHP/Python等编程语言,支持MySQL等数据库(需自行安装)。 2.2CentOS(推荐)请使用yum方式在线安装软件。 2

树莓派4b+Ubuntu 20.04 LTS 32位 安装最新wiringpi库

一世执手 提交于 2020-08-15 05:35:38
树莓派4自带的wiringPi库默认是2.50,无法映射到gpio,所以需要更新到2.52才能与树莓派映射: 测试环境: 树莓派4B 8G + Ubuntu 20.04 LTS 32位( 经测试wiringpi 当前不支持64位系统,所以又重新安装的32位系统 ) 1、 安装自带的wiringPi库 sudo apt install wiringpi 2、 更新库 cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb 3、然后执行.deb sudo dpkg -i wiringpi-latest.deb 4、检查: gpio –v 5、获取wirngPi与gpio的映射图 gpio readall 参考: http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/ 来源: oschina 链接: https://my.oschina.net/zhenggao/blog/4332660

linux下实现Python调用海康威视SDK

为君一笑 提交于 2020-08-15 05:14:11
---作者疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- ----------- 点击此处链接至博客园原文 ----------- 功能说明:将C++版的海康威视官方SDK封装、编译成动态共享对象(linux中称为DSO,Dynamic Shared Objects,windows中称动态链接库),供Python调用实现相关功能 运行环境:ubuntu14.04或ubuntu16.04、opencv2.4.13.5或opencv2.4.13.6、swig3.0.8、codeblocks16.01、Python2.7.6(仅在上述运行环境中验证过该博客有效性) 一、相关介绍 参考链接: swig扩展opencv Python调用C++ (极重要参考) 本节主要介绍在linux系统下将C++源文件封装、编译为.so动态共享对象的大致流程和细节。swig是simplified wrapper and interface generator的缩写,是一个非常优秀的开源工具,支持将 C/C++代码与任何主流脚本语言相集成。其中,必须编写一个额外的接口文件(.i文件)来作为swig(终端工具)的入口。这里引用上文中(未调用opencv的简单)例子对该流程进行叙述。(若调用了opencv函数,则需利用opencv-swig接口文件,将在“四

ubuntu下Mosquitto安装及配置

半世苍凉 提交于 2020-08-15 04:51:52
ubuntu下Mosquitto安装及配置 本文最近一次修改日期:2020-03-04 1:43 周三 Eclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1.Mosquitto轻量,适用于低功耗单板计算机到完整服务器的所有设备. Mosquitto项目还提供了用于实现MQTT客户端的C库以及非常受欢迎的mosquitto_pub和mosquitto_sub命令行MQTT客户端. 本文抄自:飞虎兄的文章 Mosquitto 搭建及配置 本文参考:清明-心若淡定的文章 订阅mosquitto服务器状态各主题 所超代码,均已在ubuntu server 18.04 LTS上测试, 订阅客户端数量 $SYS/broker/clients/active (1.4版本已取消 //经测试我用的1.6.8的客户端,这个命令并没有取消 修改为$SYS/broker/clients/expired (当前连接的客户端数量) //这个命令什么也没返回,这是为什么? 其他服务器代理实现: https://github.com/mqtt/mqtt.github.io/wiki/servers 各操作系统安装指引: https://mosquitto.org/download/ Mosquitto安装 添加存储库 sudo apt-add-repository ppa

Docker的iptables规则在iptables重启后丢失

给你一囗甜甜゛ 提交于 2020-08-15 04:49:03
前因后果 1、在跳板机上使用ansible命令测试机器B时,报错如下,于是就怀疑是网络防火墙的问题 10.10 . 0.86 | FAILED >> { " failed " : true , " msg " : " /bin/sh: /usr/bin/python: No such file or directory\r\nOpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: mux_client_request_session: master session id: 2\r\nShared connection to 10.10.0.86 closed.\r\n " , " parsed " : false } 2、登录到机器B上,这是一台线上的机器,里面运行docker容器,然后我看平时的经验一般是网络防火墙有问题就直接 iptables - F systemctl

基于docker的spark-hadoop分布式集群之一: 环境搭建

南楼画角 提交于 2020-08-15 04:21:49
一、软件准备 1、基础docker镜像:ubuntu,目前最新的版本是18 2、需准备的环境软件包: (1) spark-2.3.0-bin-hadoop2.7.tgz (2) hadoop-2.7.3.tar.gz (3) apache-hive-2.3.2-bin.tar.gz (4) jdk-8u101-linux-x64.tar.gz (5) mysql-5.5.45-linux2.6-x86_64.tar.gz、mysql-connector-java-5.1.37-bin.jar (6) scala-2.11.8.tgz (7) zeppelin-0.8.0-bin-all.tgz 二、ubuntu镜像准备 1、获取官方的镜像: docker pull ubuntu 2、因官方镜像中的apt源是国外资源,后续扩展安装软件包时较麻烦。先修改为国内源: (1)启动ubuntu容器,并进入容器中的apt配置目录 docker run -it -d ubuntu docker exec -it ubuntu /bin/bash cd /etc/apt (2)先将原有的源文件备份: mv sources.list sources.list.bak (3)换为国内源,这里提供阿里的资源。因官方的ubuntu没有艰装vi等软件,使用echo指令写入。需注意一点,资源必须与系统版本匹配

对于Linux,我们应该学什么?

假如想象 提交于 2020-08-15 04:15:36
在当今的社会中, linux用处 实在是 太 过 广 泛 了 。 现在用在服务器和嵌入式上 的Linux发行版本数不胜数 ,桌面上 linux 只占1%的比例,但这不代表linux比windows和mac 做得差,实际上桌面系统上这三个各有千秋,现在ubuntu 、centos等发行版本 就用着很方便。 在学习Linux之前,我们应该问自己几个问题: 我们干嘛要学习Linux? Linux能给我们带来什么价值呢 ? 如何学习linux? 我们要掌握哪些知识点呢?要学多久?我们在学习之前,一定要首先搞清楚这些问题的答案,我们不能随便跟风看到别人学,我们就去学,别人说什么就是什么。只有搞明白这些问题,我们学习起来才不会感到枯燥,不会没有动力。 有同学说他想学习 Linux,问我如何学习,我就问:为什么学习,有些说看别人学习,想玩玩;有些说 Linux 就业好,等等。想问问大家当初学习 Linux 的目的是什么,学习过程是什么样的,现在什么程度,还有就是学习 Linux 的过程应该是什么样的 。 那么,下面我就一一为大家解答这些困惑,希望能够帮助一些同学早日学会Linux。 我们干嘛要学习Linux? linux可以给你一份待遇不错的工作,也可以让你有机会参与开源软件的编写,与编程高手相互学习,另外编程方面比windows要容易。 Linux能给我们带来什么价值呢 ? Linux

使用 Linux 实用程序 gPhoto2 备份手机存储

梦想与她 提交于 2020-08-15 03:55:01
尽情地拍照吧,gphoto2 能够方便、快速地将照片从你的设备传输到 Linux 计算机上。 移动设备的最大缺点之一就是其将数据从设备传输到计算机很困难。移动设备在这一缺点上有着悠久的历史。早期的移动设备,如 Pilot 和掌上电脑 PDA 设备,需要使用特殊的同步软件来传输数据(你必须小心翼翼地做这件事,因为你的设备可能会因为电池耗尽而导致数据永久丢失);旧版 iPod 只提供特定平台的界面。现代移动设备默认将你的数据发送到在线帐户,以便你可以在计算机上再次下载。 好消息——如果你正在运行 Linux,你可以使用 gphoto2 命令与移动设备进行连接。 gphoto2 最初是作为一种与数码相机通信的方式而开发的,那时的数码相机只有传统的相机功能,现在的 gphoto2 可以和许多不同种类的移动设备通讯。别让这个名字骗了你,它可以处理所有类型的文件,而不仅仅是照片。更棒的是,它可以编写脚本、很灵活、并且比大多数 GUI 界面功能强大得多。 如果你曾经为在计算机和移动设备之间同步数据而苦恼,请了解一下 gphoto2 。 安装 gPhoto2 很可能你的 Linux 系统已经安装了 libgphoto2,因为它是与移动设备连接的一个关键库,但你可能还需要安装命令 gphoto2 ,该命令可能在你的存储库中。 在 Fedora 或 RHEL 上: $ sudo dnf install