参考了文章<win10 Docker 创建Centos7 并使用xshell成功连接>实现了xsheel连接docker,但是docker中的端口在外部不能直接访问。后来搜到简书上的文章<Mac下 Docker 动态添加端口>,但是在"进入screen"步骤失败,一直报错"screen is terminating",后来参考菜鸟教程上的<Docker commit 命令>,先"docker commit :从容器创建一个新的镜像",然后执行"docker run :创建一个新的容器并运行一个命令",注意"使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。(docker run -it nginx:latest /bin/bash)",在创建新容器时候用"-p 50001:22 -p 5002:80"多开放了一个端口。

依据docker file来build镜像的时候,ARG指令定义参数,但是RUN指令去echo的时候总是输出${xxx},而非参数的实际值。然后关键字"docker ARG echo"搜到这条网页,明确说:“First: Make sure, your ARG comes after your FROM;Second: As you can see here, variables won’t be interpretad inside ‘’, so use “” instead.”。

编译boost的时候参考了知乎上的文章<Boost编译与使用>,注意参数的配置:“stage时使用stagedir,install时使用prefix”。本地编译的时候,只是将修改为toolset=msvc-14.2,因为电脑安装的是vs2019版本,而且install的时候–prefix="C:\Boost"安装到c盘下。然后进入到doc\html\boost_asio\example\cpp11目录下,调试测试asio程序。

在编译FreeRDP的时候,CMake构建工程时候报错"CMake Error Could NOT find OPENSSL",找到stackoverflow上的文章,设置路径即可(OPENSSL_ROOT_DIR = C:/OpenSSL-Win32),然后在文件CMakeLists.txt里参照设置"set(OPENSSL_ROOT_DIR ${CMAKE_SOURCE_DIR}/deps)",注意是OpenSSL的根目录,所以一开始路径中加了include,虽然说找到了OpenSSL的版本但还是报错,去掉include就可以了。

想编译ffmpeg,然后先看了用命令可以正常播放视频流的ffmpeg版本,然后就依据参数进行configure,结果报错"ERROR: gnutls not found using pkg-config",然后搜到csdn文章说执行"sudo apt-get install libunistring-dev",评论区里说执行"sudo apt-get install libgnutls-dev",但是这两个都并没有解决依然报同意的错误。后面搜到askubuntu文章<Unable to compile FFmpeg on Ubuntu 20.04>说"In the ffbuild directory (path : ffmpeg_sources/ffmpeg/ffbuild/), inspecting the config.log gives more info on the error message",然后看了发现报错提示"No package ‘gnutls’ found",然后关键字搜索后insmoin文章<No package ‘gnutls’ found 解决办法>说执行"sudo apt-get install libunistring-dev",然后执行后重新./configure就不再报错,奇怪之前不清楚为什么不行。报错"ERROR: ladspa.h header not found",关键字搜索后找到(The name of the needed package is “ladspa-devel” or “ladspa-sdk-dev”),然后安装ladspa-sdk-dev即可。报错"ffmpeg error libiec61883 not found",关键字搜到Raspberry Pi文章<Where is the manual for compiling ffmpeg on rpi4?>,参考该文章安装依赖库。报错"ERROR: libgsm not found",查看ffbuild目录内的config.log日志:"/tmp/ffconf.8vXAt6HH/test.c:1:10: fatal error: gsm/gsm.h: No such file or directory",安装gsm总是失败,然后关键字"ubuntu gsm-devel"搜到github上的sipXtapi工程:“Under Ubuntu: ‘apt-get install libgsm1-dev’ to install libgsm.”,然后安装libgsm。

关键字"ubuntu ffmpeg opencv"搜到csdn文章<Ubuntu 16.04下安装ffmpeg和opencv的安装与简介>,结果直接"apt install libopencv-dev python-opencv"命令安装的是opencv3.2的版本,会报错:“In function cvPointFrom32f:undefined reference to cvRound’”,网上说用2.4版本就行,但是感觉版本太低了。所以想下载cv4.5.1源码编译安装。然后关键字"ubuntu 编译 opencv"搜到博客园文章<在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1>说OPENCV_GENERATE_PKGCONFIG编译选项,然后搜到该选项后搜到csdn文章<OPENCV_GENERATE_PKGCONFIG - pkg-config --modversion opencv4>,参考该文章的cmake选项编译安装了opencv4.5.1版本。但是依然cvRound报错,因为ffmpeg的configure找到的还是3.2版本的cv的头文件,如果用4.5.1的头文件需要添加-std=c++11选项,但是ffmpeg的configure默认用的不是g++而是gcc,所以无法支持。前面在编译的时候,发现“make -j8”编译opencv结果报错:“virtual memory exhausted: Cannot allocate memory”,还是老老实实用make就好了。后来在ubuntu下终于"./configure --prefix=/usr/local --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared"成功然后make编译了,但是执行ffmpeg命令报错:“error while loading shared libraries: libmysofa.so.1: cannot open shared object file: No such file or directory”。

调用avformat_open_input接口总是返回-1414092869,提示信息是"Immediate exit requested",然后搜到文章<FFMpeg,avformat_open_input回来immediate exit requested>说"avformat_open_input的时候设置了AVFormatContext的interrupt_callback,把里面的值设置大一点,应该就可以了",修改下果然就正常了。

g++查看版本"gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)",想升级一下gcc,然后下载了源码gcc-11.2.0.tar.gz,解压后直接执行configure结果报错"error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC",关键字搜到csdn文章<Error:Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+>,依次编译安装然后再编译安装gcc即可。

参考了csdn文章<CentOS7中Samba环境搭建实录>来搭建samba服务,结果windows访问的时候总是提示"权限不够",后面发现使用pdbedit添加samba用户后,需要将共享目录属主用chown修改为samba用户,而不能是root用户。

用cmake-gui根据CMakeLists.txt编译folly的时候报错"Could NOT find Boost (missing: iostreams program_options system",后来在文件CMakeLists.txt中加了如下语句(应该有重复),最终成功生成了vs的工程文件folly.sln。
set(Boost_DEBUG ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(Boost_COMPILER -vc142)
“#” set(BOOST_ROOT “C:\Boost\”) ("#"是因为直接写#的话,文字会被格式化,下同)
“#” set(BOOST_ROOT=C:/Boost)
“#” set(Boost_INCLUDE_DIR=C:/Boost/include/boost-1_75)
“#” set(BOOST_LIBRARYDIR=C:/Boost/lib)
set(BOOST_ROOT C:/Boost)
set(Boost_INCLUDE_DIR C:/Boost/include/boost-1_75)
set(BOOST_LIBRARYDIR C:/Boost/lib)
find_package(Boost REQUIRED)
后面编译folly的logging_example时候报了连接错误’error LNK2019: unresolved external symbol "__declspec(dllimport) google::LogMessageFatal::LogMessageFatal(char const*, int)’,后面参考了博客园的文章<glog日志库使用笔记>,“在预处理器定义中添加GOOGLE_GLOG_DLL_DECL=宏后解决”,一开始只修改logging_example工程没有解决,后面在folly和folly_base工程的预处理器定义中都添加了宏定义才解决问题。后面又openssl大面积报错,然后windows工程的c++预处理器添加WIN32_LEAN_AND_MEAN宏就不再报错。

FreeRDP使用:
server端,.\freerdp-shadow-cli.exe /bind-address:192.168.1.100 /port:3389
client端,.\wfreerdp.exe /v:192.168.1.110 /p:3389

docker开放端口相关推荐

  1. docker开放容器端口_开放式容器项目及其含义

    docker开放容器端口 昨天,旧金山宣布了开放容器项目 . 这是一个Linux Foundation项目,它将包含使用软件容器的规范和基本运行时软件. 这就是"一件好事". 签署 ...

  2. docker开放3306端口报错

    *执行docker开放3306端口命令 报错 1.执行 sudo firewall-cmd --add-port=3306/tcp 报错 .CentOS7出现"FirewallD is no ...

  3. Linux安装Tomcat(非Docker安装、开放端口)

    1.安装 安装前提 已经装好JDK并已经配置好环境变量 下载 官网下载Linux版压缩包 上传 用Xftp或者其他软件上传压缩包至Linux的opt或者usr/local文件夹下(根据自己习惯),这里 ...

  4. Docker暴露端口服务器公网IP无法访问问题排查

    目录 一.未打开安全组策略 二.防火墙开放端口未设置 三.没有启用IP_FORWARD 环境:阿里云CentOS7 服务器 问题:当启动一个容器向外部暴露端口时,服务器公网IP:端口号无法访问 doc ...

  5. docker 添加端口映射_Docker容器修改端口映射

    对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置文件修改docker容器端口映射 1.使用docker ps -a命令找到要修改容器的CONTAINER ...

  6. centos7 docker删除端口映射_容器Docker详解

    概述 基本概念Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Li ...

  7. Docker 网络-端口映射、容器链接、Networking

    在使用Docker容器时,我们需要访问容器的内部网络,或需要在容器间相互访问.Docker 容器默认不会开放任何端口,因此需要将容器与宿主机进行端口映射,使容器可外部访问.而容器间互相访问,除了可以基 ...

  8. [已解决]阿里云安全组开放端口,宝塔面板仍无法访问

    前言: 1.购买阿里云轻量应用服务器,系统镜像为CentOS8.2(建议安装Cnetos版本在7-8之间) 2.安装宝塔面板,参考[宝塔面板手册] # Centos安装脚本 yum install - ...

  9. 在Linux中进行docker网络端口映射

    在Linux中有两种安装docker的方法,一种是使用官方安装脚本自动安装docker,另一种是手动安装docker. 容器中可以运行一些应用,要让外部也可以访问这些应用,可以通过"-P或- ...

最新文章

  1. 2021-7-26 pytorch深度学习框架学习
  2. HDU 1863 畅通工程 最小生成树
  3. boost::contract模块实现observer观察者的测试程序
  4. 【CKEditor】上传图片接口接收不到CKEditorFuncNum参数
  5. scrapy同时运行多个spider
  6. postman添加cookie
  7. Debian 9 中设置网络
  8. sqlserver视图
  9. Google AdSense 申请技巧,谷歌广告申请通不过教程
  10. JavaSE基础——IO流详解(2)其他常用的流和Properties 集合
  11. 如何进行MDM的产品测试
  12. 工具分享: 一键保存网页为PDF文件
  13. 在线打开.mpp文件工具备忘录
  14. Power BI前置知识+ 一张报表制作的流程
  15. css 绘制圆形 扇形
  16. CREATE TABLESPACE命令详解
  17. python画高德地图
  18. 健身小程序开发的主要功能
  19. ipv4地址怎么设置 手机_怎么修改手机ip地址?手机ip地址更改方法介绍
  20. GYM 100827 A.Runes(水~)

热门文章

  1. 字幕批量翻译 字体定制
  2. 通达OA 一用户登陆精灵却不能用即时通讯功能的异常情况处理(图文)
  3. android学音标软件,英语音标学习助手
  4. k线分析中的量化测试方法_k线分析中如何使用量化思维案例分析
  5. 计算机主机机箱面板指示灯,电脑主机指示灯不亮了是什么原因
  6. 这45个小技巧,帮你写出一手同事都羡慕的漂亮代码!
  7. QMainWindow的使用
  8. postfix无法发送邮件问题
  9. 勒索病毒克星——No More Ransom
  10. k8s 如何实现负载均衡?