我无法安装postgresql 9.5这是我在docker文件Dockerfile行的时候
RUN apt-get update && apt-get install -qq -y build-essential libpq-dev postgresql-client-9.5 --fix-missing --no-install-recommends
它运行下面的命令。
remote: E: Package 'postgresql-client-9.5' has no installation candidate
remote:
The command '/bin/sh -c apt-get update && apt-get install -qq
-y build-essential libpq-dev postgresql-client-9.5 --fix-missing
--no-install-recommends' returned a non-zero code: 100
当我在ubuntu xenial上时,它似乎试图从debian存储库中获取更新。可能是因为我首先为debian安装了错误的docker版本,然后用删除了debian docker
sudo apt-get remove docker docker-engine docker.io
sudo rm -rf /var/lib/docker
在此之后,我已经为我的ubuntu xenial发行版安装了docker。我不明白为什么当我运行docker文件时,它仍然会更新软件包并尝试安装适用于debian的软件包,而我没有任何与debian相关的东西?
已安装的docker版本为
Docker version 17.05.0-ce, build 89658be
从…起https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_17.05.0~ce-0~ ubuntu-xenial\u amd64。黛布
以下是运行apt-get更新时的代码:
remote: ---> Running in b8d8101adf4a
remote: ---> f9286d1e85d1
remote: Removing intermediate container b8d8101adf4a
remote: Step 3/11 : RUN apt-get update && apt-get install -qq -y build-essential libpq-dev postgresql-client-9.5 mysql-client-5.7 --fix-missing --no-install-recommends
remote: ---> Running in 9bda34235687
remote: Ign:1 http://deb.debian.org/debian stretch InRelease
remote: Get:2 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
remote: Get:3 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
remote: Get:4 http://deb.debian.org/debian stretch Release [118 kB]
remote: Get:5 http://deb.debian.org/debian stretch-updates/main amd64 Packages [12.1 kB]
remote: Get:6 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [440 kB]
remote: Get:7 http://deb.debian.org/debian stretch Release.gpg [2434 B]
remote: Get:8 http://deb.debian.org/debian stretch/main amd64 Packages [9530 kB]
remote: Fetched 10.3 MB in 13s (789 kB/s)
remote: Reading package lists...
Dockerfile文件:
FROM python:2.7
MAINTAINER Makkasi <makkasi@abv.bg>
RUN apt-get update && apt-get install -qq -y build-essential libpq-dev postgresql-client-9.5 --fix-missing --no-install-recommends
ENV INSTALL_PATH /project1
RUN mkdir -p $INSTALL_PATH
WORKDIR $INSTALL_PATH
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
VOLUME ["static"]
CMD gunicorn -b 0.0.0.0:8000 "project1.app:create_app()"
docker编写。yml:
postgres:
image: postgres:9.5
environment:
POSTGRES_USER: makkasi
POSTGRES_PASSWORD: somepassword
ports:
- '5432:5432'
volumes:
- ~/.docker-volumes/project1/postgresql/data:/var/lib/postgresql/data
redis:
image: redis:2.8.22
ports:
- '6379:6379'
volumes:
- ~/.docker-volumes/project1/redis/data:/var/lib/redis/data
project1:
build: .
command: gunicorn -b 0.0.0.0:8000 --reload --access-logfile - "project1.app:create_app()"
environment:
PYTHONUNBUFFERED: true
links:
- postgres
- redis
volumes:
- .:/project1
ports:
- '8000:8000'
当我在ubuntu xenial上时,它似乎试图从debian存储库中获取更新。
用于构建图像的命令将基于图像的先前状态在容器中运行。它们不依赖于正在运行的主机。结果是,可以在不同的docker主机上构建相同的映像,结果几乎相同(外部依赖项和时间戳是正常的例外)。如果您按照您在“发件人”行中提供的Dockerfile的路径进行操作,则会得到:
您还可以基于基本映像运行容器,并使用标准包管理器工具查询包含哪些版本的包(当您的映像没有Dockerfile时,这尤其有用):
$ docker run -it --rm python:2.7 /bin/bash
root@ea64878fc27f:/# cat /etc/debian_version
8.7
root@ea64878fc27f:/# apt-get update
Get:1 http://security.debian.org jessie/updates InRelease [94.4 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie-updates InRelease [145 kB]
Get:3 http://deb.debian.org jessie Release.gpg [2434 B]
Get:4 http://deb.debian.org jessie Release [148 kB]
Get:5 http://security.debian.org jessie/updates/main amd64 Packages [623 kB]
Get:6 http://deb.debian.org jessie-updates/main amd64 Packages [23.0 kB]
Get:7 http://deb.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 10.1 MB in 9s (1058 kB/s)
Reading package lists... Done
root@ea64878fc27f:/# apt-cache search postgresql-client
postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
postgresql-client - front-end programs for PostgreSQL (supported version)
postgresql-client-common - manager for multiple PostgreSQL client versions
root@ea64878fc27f:/# apt-cache madison postgresql-client
postgresql-client | 9.4+165+deb8u3 | http://deb.debian.org/debian/ jessie/main amd64 Packages
postgresql-client | 9.4+165+deb8u3 | http://security.debian.org/ jessie/updates/main amd64 Packages
我认为是一个postgresql版本问题。如果您使用拉伸
或buster
(buster实际上是从拉伸服务器更新的),在repo中找到的版本是postgresql-client-9.6,而不是9.5。
试试这个,我们就明白了。
问题内容: 我想从命令行开始使用批处理文件运行Java项目,但出现错误的名称错误。 目录设置: srcMVC bin(带有.class文件的文件夹) src(带有.java文件的文件夹) 批处理文件 批处理文件: 编译有效,但是出现以下错误: 有什么建议? 问题答案: 以下语句解决了我的错误:
无法从Git bash运行以下命令。我在错误以下; Git版本:Git版本2.28.0.Windows.1操作系统:Windows10
问题内容: 试图安装elasticsearch并在我的dockerfile中遇到错误。似乎无法运行bin。 docker的新事物,因此将不胜感激任何帮助。我正在运行root用户,因此无需在任何这些命令前添加sudo。 问题答案: 像这样安装密钥似乎存在问题。这里和这里都有类似的问题。 建议的解决方案是像这样拆分命令: 就您而言,我怀疑命令的输出不是关键。可能是其他原因(例如代理响应)或错误。尝试删
我正在尝试为Centos 7和python 2.7创建Dockerfile,我在Docker Hub找到了一个:https://hub.docker.com/r/centos/python-27-centos7但我没有看到任何关于如何使用此图像创建Dockerfile的教程——我只看到pull命令 其实我想添加一些依赖和python包 所以我的问题一般-如果我在DockerHub上找到了一些合适的
我对SpringData和JPA有问题。当我向HomeRepository接口添加方法时,我得到一个错误。我使用的是JPararePository接口,在pom.xml文件中有一个MySQL数据库集。这些只是我对spring的开始,所以我需要一些了解spring的人的帮助。下面是我的代码和日志: 主页库: 用户存储库: 日志:
问题内容: 到目前为止,我主要使用eclipse。现在,我正在尝试从终端运行Java,但程序包存在问题。 这是我的文件: 我使用编译此代码,然后运行,它给我: 当我删除一切正常。我想念什么? 给出: 问题答案: 您需要在一个目录级别上运行java命令,并以完全合格的软件包名称提供它,例如: 请参阅Java Launcher如何查找用户类 以了解其工作方式。