• 基于Ubuntu16.04的docker准备ZMQ的C++开发环境


    制作docker

    在当前目前准备 sources.list,用于更新源 ,内容如下

    vim /etc/apt/sources.list (本次使用的是阿里源)

    1. deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
    2. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
    3. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
    4. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
    5. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
    6. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
    7. deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
    8. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
    9. deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    10. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

    准备Dockerfile,内容如下:

    1. FROM ubuntu:16.04
    2. #定义构建的名称
    3. #ARG buildversion
    4. COPY ./sources.list /etc/apt/sources.list
    5. RUN echo 'Asia/Shanghai' >/etc/timezone \
    6. && apt-get update -y \
    7. && apt-get install vim tree zip unzip net-tools git doxygen man -y

    开始获取镜像,执行如下命令

    docker build -t ubuntu:16.04 .

    启动容器

    docker run -dit --privileged=true --network host --restart=on-failure --name=ubt16 -v $PWD:/test  ubuntu:16.04 sh -c 'sleep 36000000000 '

    进入容器
     

    docker exec -it ubt16 bash

    安装zmq的基础依赖

    默认安装头文件都在usr/local/include ,库文件都在:usr/local/lib

    apt-get install libtool pkg-config build-essential autoconf automake -y

    编译依赖加密库libsodium

    可以到https://github.com上下载,本次使用的是的libsodium-1.0.18版本(百度徍盘链接:https://pan.baidu.com/s/15jj8KRsEztHTK2g4iq8lwA 提取码:8888)

    1. unzip libsodium-1.0.18.zip
    2. cd libsodium
    3. mkdir develop
    4. ./autogen.sh
    5. ./configure --prefix=`pwd`/develop && make -j16 check
    6. make install
    7. ldconfig

    配置全局可用,如果编译libsodium时有配置--prefix选项,则需要设置环境变量,编辑/etc/profile文件,在末尾添加如下内容后执行source /etc/profile; ldconfig ;

    1. export LIBSODIUM_ROOT=/test/libsodium-1.0.18/develop/
    2. export LD_LIBRARY_PATH=$LIBSODIUM_ROOT/lib:$LD_LIBRARY_PATH
    3. export CPATH=$LIBSODIUM_ROOT/include:$CPATH
    4. export LIBRARY_PATH=$LIBSODIUM_ROOT/lib:$LIBRARY_PATH
    5. export PKG_CONFIG_PATH=$LIBSODIUM_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH

    编译zmq

    可以到https://github.com上下载,本次使用的是的libsodium-1.0.18版本(百度徍盘链接:链接:https://pan.baidu.com/s/1ydx-n8ZdjNcJaFChZQ0HpQ 提取码:8888)

    1. unzip zeromq4-x-4.0.10.zip
    2. cd zeromq4-x-4.0.10
    3. mkdir develop
    4. ./autogen.sh
    5. ./configure --prefix=`pwd`/develop && make -j16 check
    6. make install
    7. make installcheck

    配置全局可用,如果编译libsodium时有配置--prefix选项,则需要设置环境变量,编辑/etc/profile文件,在末尾添加如下内容后执行source /etc/profile; ldconfig ;

    1. export ZMQPP_ROOT=/test/zeromq4-x-4.0.10/develop
    2. export LD_LIBRARY_PATH=$ZMQPP_ROOT/lib:$LD_LIBRARY_PATH
    3. export CPATH=$ZMQPP_ROOT/include:$CPATH
    4. export LIBRARY_PATH=$ZMQPP_ROOT/lib:$LIBRARY_PATH
    5. export PKG_CONFIG_PATH=$ZMQPP_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH

  • 相关阅读:
    关于jvm client 与 jvm server 有什么区别, 如何启动jvm client
    树形结构数据转换
    Android 12.0 锁屏页面禁止下拉状态栏
    HTML+CSS大作业:旅游网页设计与实现——旅游风景网站6页HTML+CSS+JavaScript实训大作业 HTML+CSS大作业 HTML期末大作业
    vr电力作业安全培训覆盖三大板块,为学员提供高仿真的技能培训
    浅谈推荐系统之内容推荐
    Java截取(提取)子字符串(substring()),Java分割字符串(split())
    基于GIS开发的智慧水务管理系统有哪些意义?
    Java18新特性
    linux总结
  • 原文地址:https://blog.csdn.net/huangjiazhi_/article/details/126128315