dockerfile Dockerfile

Dockerfile
FROM openjdk:8u181-jre-alpine3.8

ARG version

RUN apk add --update libc6-compat && \
    rm -rf /var/cache/apk/*

RUN mkdir /opt

RUN wget -O /tmp/pantheon.tar.gz https://bintray.com/consensys/pegasys-repo/download_file?file_path=pantheon-$version.tar.gz && \
  tar xzf /tmp/pantheon.tar.gz -C /tmp && \
  rm /tmp/pantheon.tar.gz && \
  mv /tmp/pantheon-* /opt/pantheon


RUN mkdir /var/lib/pantheon
RUN mkdir /etc/pantheon/
COPY entrypoint.sh /opt/pantheon/pantheon-entrypoint.sh
RUN chmod +x /opt/pantheon/pantheon-entrypoint.sh

WORKDIR /var/lib/pantheon
VOLUME ["/var/lib/pantheon"]

EXPOSE 8545 8546 30303

ENV PANTHEON_OPTS="-Dpantheon.docker=true"

ENTRYPOINT ["/opt/pantheon/pantheon-entrypoint.sh"]

dockerfile Docker XDebug

docker_xdebug.md
# Docker and XDebug configuration

## PHP Dockerfile
Below is the PHP Dockerfile with the XDebug configuration. 

The `host.docker.internal` pseudo domain is pointing back to the docker host. Do not use directly the ip address because the host ip address is changing and it wont work in all the cases.

The default xdebug port `9000` is changed to `9001` to avoid conflicts with `php-fpm`.

```
# Install xdebug
RUN pecl install xdebug \
    && docker-php-ext-enable xdebug \
    && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_log=/tmp/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
\!h     && echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
\!h     && echo "xdebug.remote_host=host.docker.internal">> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.profiler_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \

    && echo "xdebug.profiler_output_dir=/tmp/snapshots" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
\!h     && echo "xdebug.idekey=VSCODE" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.profiler_enable_trigger=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
```
## docker-composer.yml
Because we need our application to connect back to the docker host we do
not forward the `9001` port. Otherwise the container will connect back to itself.

The `${PROJECT_PATH}` should be set in the `.env` file inside your docker-compose project.

```
     php:
         environment:
             - ENVIROMENT=dev
             - XDEBUG_CONFIG="idekey=VSCODE"
         build: "./containers/php"
         hostname: "phpxdebug"
         container_name: "phpxdebug"
         volumes:
\!h              - "${PROJECT_PATH}:/var/www/html"
         ports:
             - "9000:9000"
```

## VS Code config
Below is the __VS Code__. The default __XDebug__ port should be replaced with the
`9001` so that we avoid that `php-fpm` and `xdebug` are having confilicts on the same port.

```
{
  "name": "Listen for XDebug",
  "type": "php",
  "request": "launch",
\!h   "port": 9001,
  "log": true,
\!h   "pathMappings": {
\!h   "/var/www/html": "${workspaceRoot}"
\!h   }
}
```

### Debug
In case that something is not working you check the `/tmp/xdebug.log` path on the container. Be sure that xdebug has write permissions on the file.
Dockerfile
FROM php:7.2-fpm

MAINTAINER Maciej Slawik <maciekslawik@gmail.com>

RUN apt-get update && apt-get install -y \
    unzip

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
    && composer --version

# Set timezone
RUN rm /etc/localtime \
    && ln -s /usr/share/zoneinfo/Europe/Warsaw /etc/localtime \
    && "date"

# Install PDO
RUN apt-get install -y libpq-dev \
    && docker-php-ext-install pdo pdo_mysql pdo_pgsql

RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
        vim \
    && docker-php-ext-install -j$(nproc) iconv bcmath \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

RUN apt-get install -y zlib1g-dev libicu-dev g++ && \
    docker-php-ext-configure intl && \
    docker-php-ext-install intl zip && \
    apt-get purge -y g++

RUN apt-get install -y libxslt-dev
RUN docker-php-ext-install xsl soap mysqli

# Install xdebug
RUN pecl install xdebug \
    && docker-php-ext-enable xdebug \
    && echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_log=/tmp/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_host=host.docker.internal">> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.profiler_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.var_display_max_depth=5" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.var_display_max_children=256" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.var_display_max_data=1024" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.profiler_output_dir=/tmp/snapshots" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.idekey=VSCODE" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.profiler_enable_trigger=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo 'alias sf="php app/console"' >> ~/.bashrc \
    && echo 'alias sf3="php bin/console"' >> ~/.bashrc \
    && echo 'alias mage="php bin/magento"' >> ~/.bashrc

# Install Redis extension
RUN pecl install -o -f redis \
    && rm -rf /tmp/pear \
    && echo "extension=redis.so" > /usr/local/etc/php/conf.d/docker-php-ext-redis.ini

# Install MongoDB extension
RUN pecl install mongodb \
    && rm -rf /tmp/pear \
    && echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini

# Set ID
RUN usermod -u 1000 www-data

# Add aliases for xdebug control
RUN echo 'alias xoff="mv /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini.off && kill -USR2 1"' >> ~/.bashrc
RUN echo 'alias xon="mv /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini.off /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && kill -USR2 1"' >> ~/.bashrc

# Change memory limit
RUN echo 'memory_limit = 2G ' >> /usr/local/etc/php/php.ini

# Install Blackfire probe
RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
    && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
    && mkdir -p /tmp/blackfire \
    && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
    && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
    && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/docker-php-ext-blackfire.ini \
    && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz

# Install Blackfire CLI executable
RUN mkdir -p /tmp/blackfire \
    && curl -A "Docker" -L https://blackfire.io/api/v1/releases/client/linux_static/amd64 | tar zxp -C /tmp/blackfire \
    && mv /tmp/blackfire/blackfire /usr/bin/blackfire \
    && rm -Rf /tmp/blackfire

dockerfile Docker Wordress

docker-compose.yml
version: '3'
services:
   db:
     image: mysql:5.7
     volumes:
      #  - ./db:/var/lib/mysql
       - ./db/confraria_dump.sql:/docker-entrypoint-initdb.d/confraria_dump.sql
      #  - ./db:/docker-entrypoint-initdb.d
     restart: unless-stopped  
     container_name: mysql
     ports:
      - 8081:3306
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: root
       MYSQL_PASSWORD: wordpress
     networks:
       - back
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     container_name: wordpress
     build:
       dockerfile: Dockerfile
       context: ./
     ports:
       - 80:80 
       - 443:443
     restart: unless-stopped  
     volumes:
       - ./confraria/:/var/www/html/confraria 
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: root
       WORDPRESS_DB_PASSWORD: wordpress
     networks:
       - back
   phpmyadmin:
     depends_on:
       - db
     image: phpmyadmin/phpmyadmin
     container_name: phpmyadmin
     # restart: unless-stopped
     ports:
       - 8080:80
     environment:
       PMA_HOST: db
       MYSQL_ROOT_PASSWORD: wordpress
     networks:
       - back
volumes:
  db:
networks:
  back: 
    driver: bridge
Dockerfile
# FROM mysql:5.7
# COPY ./db/confraria_dump.sql /docker-entrypoint-initdb.d/confraria_dump.sql
# ENV MYSQL_ROOT_PASSWORD ''
# ENV MYSQL_ALLOW_EMPTY_PASSWORD 1
# ENV MYSQL_DATABASE confraria


FROM wordpress
# Create app directory
WORKDIR /var/www/html/
RUN chown -R www-data:www-data ./confraria
COPY ./confraria ./confraria

# COPY ./confraria /tmp/
# RUN cp -r /tmp/ ./confraria

RUN apt-get update
RUN apt-get -y install curl gnupg
RUN curl -sL https://deb.nodesource.com/setup_11.x  | bash -
RUN apt-get -y install nodejs
WORKDIR /wp-content/themes/confraria-2018/resources/
RUN npm install && npm install node-sass && npm start


EXPOSE 3000
EXPOSE 3001
CMD [ "npm", "start" ]

dockerfile xorg的:宇宙

xorg的:宇宙

Dockerfile
FROM ubuntu:18.10

RUN	apt-get update && apt-get install -y \
	alsa-utils \
	libgl1-mesa-dri \
	libgl1-mesa-glx \
	xdg-utils \
	libxtst6 libxrender1 libxi6 libfreetype6 \
	--no-install-recommends \
	&& rm -rf /var/lib/apt/lists/* \
	&& rm -rf /var/cache/apt/*

dockerfile Dockerfile.intellij基

Dockerfile.intellij-base
FROM ayushshanker/xorg:xenial

RUN apt-get update && \
	apt-get install -y --no-install-recommends \
	git-core ncdu gcc silversearcher-ag nano && \
	rm -rf /var/cache/apt/* && \
	rm -rf /var/lib/apt/lists/*

dockerfile base_image

base_image
FROM scratch
ADD hello /
CMD ["/hello"]

dockerfile 用于https://github.com/gojuno/mainframer远程android构建系统的Dockerfile。

用于https://github.com/gojuno/mainframer远程android构建系统的Dockerfile。

Dockerfile
FROM ubuntu:18.04

MAINTAINER Biwin John KM "biwinjohn@gmail.com"

ENV TZ=Europe/Minsk
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Install java8
RUN apt-get update && \
  apt-get install -y software-properties-common && \
  add-apt-repository -y ppa:webupd8team/java && \
  (echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections) && \
  apt-get update && \
  apt-get install -y oracle-java8-installer && \
  apt-get clean && \
  rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Install Deps
RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y  expect unzip git wget apt-utils libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 python curl libqt5widgets5 && apt-get clean && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Copy install tools
RUN cd /opt && mkdir tools
# COPY tools /opt/tools
ENV PATH ${PATH}:/opt/tools

# Install Android SDK
# RUN cd /opt && wget --output-document=android-sdk.tgz --quiet https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz && \
#   tar xzf android-sdk.tgz && \
#   rm -f android-sdk.tgz && \
#   chown -R root.root android-sdk-linux && \
#   /opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools" && \
#   /opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools,build-tools-25.0.1,android-25,addon-google_apis_x86-google-21,extra-android-support,extra-android-m2repository,extra-google-m2repository,extra-google-google_play_services"


# Install Android SDK
# RUN cd /opt && wget --output-document=android-sdk.tgz --quiet https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz && \
#   tar xzf android-sdk.tgz && \
#   rm -f android-sdk.tgz && \
#   chown -R root.root android-sdk-linux && \
#   /opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools" && \
#   /opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools,build-tools-25.0.1,android-25,addon-google_apis_x86-google-21,extra-android-support,extra-android-m2repository,extra-google-m2repository,extra-google-google_play_services"

# RUN cd /opt && wget --output-document=android.sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip && \
#     unzip android.sdk.zip && rm -rf android.sdk.zip
RUN apt-get update && apt-get install -y wget unzip

RUN cd /opt && wget -nv --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip && \
    unzip -q android-sdk.zip && rm -rf android-sdk.zip && \
    mkdir ~/.android && \
    touch ~/.android/repositories.cfg && \
    ln -s /opt/tools/bin/sdkmanager /usr/bin/sdkmanager && \
    sdkmanager --update && \
    # echo "y" | sdkmanager  "build-tools;28.0.3" "platform-tools" "platforms;android-28"  "platforms;android-22" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" 
    echo "y" | sdkmanager  "build-tools;28.0.3" "platform-tools" "platforms;android-28" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" 


# ln -s /opt/foo /usr/bin/sdkmanager

# Setup environment variables
ENV JAVA8_HOME /usr/lib/jvm/java-8-oracle
ENV ANDROID_HOME /opt/android-sdk-linux
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
RUN echo "export JAVA_HOME=$JAVA8_HOME" | cat - ~/.bashrc >> temp && mv temp ~/.bashrc && \
  echo "export JAVA8_HOME=$JAVA8_HOME" | cat - ~/.bashrc >> temp && mv temp ~/.bashrc && \
  echo "export ANDROID_HOME=$ANDROID_HOME" | cat - ~/.bashrc >> temp && mv temp ~/.bashrc

# Setup ssh server
RUN apt-get update && \
  apt-get install -y openssh-server && \
  mkdir /var/run/sshd && \
  echo 'root:root' |chpasswd && \
 sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \
 sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
EXPOSE 2222
CMD    ["/usr/sbin/sshd", "-D"]

# Cleaning
RUN apt-get clean

dockerfile kubectl舵选秀

kubectl舵选秀

Dockerfile
FROM ubuntu:16.04

LABEL maintainer Radu Matei <matei.radu94@gmail.com>

# Latest versions for kubectl, helm and draft
ENV KUBE_LATEST_VERSION="v1.8.0"
ENV HELM_LATEST_VERSION="v2.6.2"
ENV DRAFT_LATEST_VERSION="v0.7.0"

RUN apt-get update && apt-get install -y \
    curl

# Download and install kubectl
RUN curl -LO  https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl
RUN chmod +x ./kubectl
RUN mv ./kubectl /usr/local/bin/kubectl

# Download and install helm
RUN curl -LO  https://storage.googleapis.com/kubernetes-helm/helm-${HELM_LATEST_VERSION}-linux-amd64.tar.gz
RUN tar -xvf helm-${HELM_LATEST_VERSION}-linux-amd64.tar.gz
RUN mv linux-amd64/helm /usr/local/bin 

# Download and install draft
RUN curl -LO \  
    https://github.com/Azure/draft/releases/download/${DRAFT_LATEST_VERSION}/draft-${DRAFT_LATEST_VERSION}-linux-amd64.tar.gz
RUN tar -xvf draft-${DRAFT_LATEST_VERSION}-linux-amd64.tar.gz
RUN mv linux-amd64/draft /usr/local/bin 

# Expose port for kubectl proxy
EXPOSE 8080

ENTRYPOINT ["bash"]

dockerfile 在docker build期间列出目录

Dockerfile
RUN echo $(ls -la -1 /src)

dockerfile 试图以非root用户身份运行应用程序的Dockerfile。这将创建一个`node`用户并设置应用程序文件的权限。请注意,你不能选择

试图以非root用户身份运行应用程序的Dockerfile。这将创建一个`node`用户并设置应用程序文件的权限。注意在构建过程中你不能在docker'volume'中`chown`文件,但你可以在运行时(作为`CMD`的一部分)但在这种情况下你不能使用`USER`命令来改变UID在`CMD`运行之前。

Dockerfile
###
# Node.js app Docker file
#
# Some basic build instructions:
# ```
# # you should delete node_modules b/c you don't want that copied during 'ADD'
# docker build -t thom-nic/node-bootstrap .
# # run a shell in the container to inspect the environment (as root):
# docker run --rm -itu root thom-nic/node-bootstrap /bin/bash
# ```
###
FROM dockerfile/nodejs
MAINTAINER Thom Nichols "thom@thomnichols.org"

RUN useradd -ms /bin/bash node
# copy the nice dotfiles that dockerfile/ubuntu gives us:
RUN cd && cp -R .bash_profile .bashrc .gitconfig .profile scripts /home/node

ADD . /home/node/app
RUN chown -R node:node /home/node

USER node
ENV HOME /home/node

WORKDIR /home/node/app

#ENV NODE_ENV production
RUN npm install

EXPOSE 8888

CMD ["npm", "start"]