Tag: dockerfile

扩展jenkins图像来安装maven

我正在使用jenkins/jenkins:lts目前的形象。 它运行良好,做我想要的一切事情。 我希望它在构build步骤中运行Maven目标。 问题是jenkins容器环境中没有安装Maven。 所以我想扩展提到的图像来运行apt-get install maven 。 我的解决scheme FROM "jenkins/jenkins:lts USER root RUN /bin/bash -c "apt-get install maven" 这足够吗? 我假设jenkins映像的所有RUN和ENTRYPOINT步骤将自行运行,而且我不需要在Dockerfile中重新执行它们。

Docker容器Postgres连接错误

我一直在尝试docker容器postgres。 到目前为止,我还没有能够连接到容器内的数据库。 我的步骤重新创build下面的问题。 dockerfile启动 FROM postgres ENV POSTGRES_DB db ENV POSTGRES_USER postgres ENV POSTGRES_PASSWORD postgres COPY db_schema.sql /docker-entrypoint-initdb.d/ 我像这样构build了docker文件 $ docker build -t db_con . 并创build了一个容器 $ docker run -it -p 5432:5432 –name test_db db_con /bin/bash 运行容器的视图如下 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 82347f1114c4 db "docker-entrypoint…" 3 hours ago […]

dockerCMD中的命令replace

使用: CMD ["$(pipenv –venv)/bin/python3", "main.py", "/root/uploads"] 在docker run导致一个错误: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"$(pipenv –venv)/bin/python3\\\": stat $(pipenv –venv)/bin/python3: no such file or directory\"\n" 有什么方法可以在CMD部分中进行评估命令replace,如$(pipenv –venv)/bin/python3 ?

使用pyodbc将docker python连接到SQL服务器

我试图连接在docker容器中运行的pyodbc python脚本login到一个MSSQL数据库我已经尝试了各种docker文件,但没有能够进行连接(失败时,build设docker或python试图连接),有没有人有一个工作dockerfile,使用pyodbc: Dockerfile: # Use an official Python runtime as a parent image FROM python:2.7-slim # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app # Install any needed packages specified in requirements.txt RUN pip install -r requirements.txt # Run app.py when […]

validation安装到docker集装箱中的R软件包

有没有人有任何validationR包安装到docker集装箱的最佳做法? 我想将我的容器设置为在CI服务上运行,并validation我的软件包是否已安装,但是由于我在本地构build了它,日志似乎很难确定安装了哪些软件包,哪些没有安装。 如果让CI服务为我做这件事,或者使用一个简单的批处理脚本来validation软件包被安装,那将是很好的。 以下是我目前的dockerfile: FROM rocker/tidyverse:latest RUN mkdir -p $HOME/.R COPY R/Makevars /root/.R/Makevars RUN apt-get update -qq \ && apt-get -y –no-install-recommends install \ liblzma-dev \ libbz2-dev \ ed \ clang \ ccache \ default-jdk \ default-jre \ && R CMD javareconf \ && install2.r –error \ ggstance ggrepel \ rstan shinystan rstanarm \ ###My […]

docker工具中的angular度不会重新加载更改

我是新来的docker工人,我正在试图用django-rest和angular来做一个应用程序。 我目前的docker-compose文件如下所示: version: '3' services: db: image: postgres environment: – POSTGRES_DB=pirate – POSTGRES_USER=django – POSTGRES_PASSWORD=secreat volumes: – db-data:/var/lib/postgresql/data ports: – "5432:5432" backend: entrypoint: /entrypoint.sh build: ./backend command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" depends_on: – db healthcheck: test: [“CMD”, “curl”, “–fail”, 'http://localhost:8000'] interval: 10s timeout: 5s retries: 3 frontend: build: ./frontend […]

如何通过dockerfile安装mysql-server

有谁知道如何通过dockerfile安装mysql-server? 我已经写了一个Dockerfile,但是构build以一个错误结束: / bin / sh:1:/ usr / bin / mysqld:not found USER root RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server-5.7 # Remove pre-installed database RUN rm -rf /var/lib/mysql/* RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/"/etc/mysql/my.cnf ENV DB_USER example ENV DB_PASSWORD example ENV DB_NAME example ENV VOLUME_HOME "/var/lib/mysql" EXPOSE 3306 RUN cp /etc/mysql/my.cnf /usr/share/mysql/my-default.cnf […]

在Docker中运行简单的Java Gradle应用程序

我有一个简单的Java服务器应用程序与Gradle构build。 它可以在我的主机上gradle run 。 但是,我想要在Docker镜像中构build这个镜像并作为Docker容器运行。 我正在使用docker机(版本0.13.0): docker-machine create –driver virtualbox –virtualbox-memory 6000 default docker-machine start eval $(docker-machine env default) 我在Dockerfile有下面的Dockerfile图像构build脚本: FROM gradle:4.3-jdk-alpine ADD . /code WORKDIR /code CMD ["gradle", "–stacktrace", "run"] 我可以完美地构build: ➜ docker build -t my-server-app . Sending build context to Docker daemon 310.3kB Step 1/4 : FROM gradle:4.3-jdk-alpine —> b803ec92baec Step 2/4 : […]

Docker运行带有-v标志的命令将容器置于Exited状态

我试图通过使用-v标志将本地目录/home/ubuntu/data映射到容器中的/var/lib/mysql文件夹,但是容器的状态变为Exited (0) 1 。 但是,如果我完全不使用-v标志,那么容器已经到Up但这不是我想要的。 可能是什么原因? 在工作示例中,我发现事件日志中缺lessvolume mount线。 $ docker -v Docker version 17.09.0-ce, build afdb6d4 Dockerfile FROM ubuntu:16.04 RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server \ && sed -i "s/127.0.0.1/0.0.0.0/g" /etc/mysql/mysql.conf.d/mysqld.cnf \ && mkdir /var/run/mysqld \ && chown -R mysql:mysql /var/run/mysqld VOLUME ["/var/lib/mysql"] EXPOSE 3306 CMD ["mysqld_safe"] 这是不行的。 $ docker run […]

docker和.NET Core 2.0的VSTS CI / CD – 复制失败

在遵循一些.NET Core 2.0 Visual Studio Team Services持续集成/持续交付示例的同时,我遇到了VSTS中的复制错误。 通过VS17添加docker支持在本地使用像这样的dockerfile。 FROM microsoft/aspnetcore:2.0 ARG source WORKDIR /app EXPOSE 80 COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", "myapp.dll"] 通过MVC应用程序和WebAPI应用程序,它可以很好地与Docker合作。 当添加一个VSTS CI构build过程并运行它时,我保持与副本的错误。 构buildmyapp服务'myapp'未能构build: COPY失败:GetFileAttributesEx \?\ C:\ Windows \ TEMP \ docker-builder91 \ obj \ Docker \ publish:系统找不到指定的path。 C:\ Program Files \ Docker \ docker-compose.exe失败,返回代码:1