Dockerfile常用模板及docker容器中缺少libjasper.so.1

1.在Dockerfile中使用ubuntu:18.04作为基础镜像时需要安装 一些必要的包:
2.Dockerfile:

FROM ubuntu:18.04
#FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04  #深度学习基础镜像(自带cudnn)
#cuda版本根据自己电脑上cuda版本来事先拉取镜像 例如:docker pull nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
#nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04  #(不带cudnn)
MAINTAINER wjy
ENV MYPATH /usr/
WORKDIR $MYPATH
#ADD sources.list /etc/apt/
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        apt-utils curl g++ \
    	cmake \
        git \
        wget \
		libgtk2.0-dev \
		pkg-config \
		libavcodec-dev \
		libavformat-dev \
		libswscale-dev \
		libdc1394-22-dev\
		libtiff-dev  \
		libpng-dev \
		libjpeg-dev \
		libtbb-dev \
		libtbb2 \
        libopencv-dev \
        libsnappy-dev \
		libatlas-base-dev \
		liblapack3  \
        python-dev \
        python-pip \
        tzdata \
        vim
CMD echo $MYPATH
CMD echo "success--------ok!"
CMD /bin/bash
#libpng16-dev (ubuntu16.04需要这个库,18不需要)

3.镜像构建成功后会出现有些包找不到,对于自己放进去的程序 可以用 ldd ./可执行文件 查看那些库文件缺少 可以在网上查到 用 apt-get install 包的名字 来下载。
一般都会下载到
4.对于我来说 上次的程序就缺少一个包libjasper.so.1,使用apt-get install 下载不了,原因大概是下载源的问题 Ubuntu18.04的源版本号是bionic,里面没有这个包,所以需要添加新的源。
最后找到方法:
在容器中
命令:

apt-get install python-software-properties

apt-get install python-software-properties
但是亲测安装后还是报command not found,所以依赖包还没有安装完全,少了什么呢?
执行命令:add-apt-repository ,提示要安装python-software-properties外还需要software-properties-common
ok,执行安装命令:

apt-get install software-properties-common

执行:

add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
apt update
apt install libjasper1 libjasper-dev

就可以啦!

你可能感兴趣的:(Linux,Docker,docker,linux,ubuntu)