INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / Thingiverse / GPG

External sourced PHP application inside docker container with nginx unit

№ 9702 В разделе "Администрирование" от January 30th, 2019,

If you want to run application inside container, but do not want to copy source files inside you can use this universal image. Build image, mount your sources directory and run it. Do not forget to add all required external network services to same network with your container.

Project pages:

Dockerfile

FROM nginx/unit:1.7.1-php7.0

LABEL maintainer="21h@blindage.org"
LABEL description="Nginx unitd universal image. More information here https://blindage.org/?s=unitd"

# install base dependencies

RUN    apt-get ${APT_FLAGS_COMMON} update && \
    apt-get ${APT_FLAGS_PERSISTENT} -y install apt-utils

RUN apt-get ${APT_FLAGS_PERSISTENT} -y install php7.0-gd php7.0-mysql php7.0-curl php7.0-mcrypt php7.0-xml php7.0-json php7.0-mbstring curl

RUN    apt-get ${APT_FLAGS_COMMON} purge -y apt-utils && \
    apt-get ${APT_FLAGS_COMMON} autoremove -y && \
    apt-get ${APT_FLAGS_COMMON} clean && \
    rm -rf /var/lib/apt/lists/*

COPY config.json /state/new_config.json

WORKDIR /www

RUN chown -R www-data:www-data /www

# upload config to unitd

RUN unitd --state /state --pid /tmp/unitd.pid && \
    curl -s -X PUT -d @/state/new_config.json \
         --unix-socket /run/control.unit.sock \
         http://localhost/config/ && \
    kill -9 $(cat /tmp/unitd.pid)

EXPOSE 80

CMD ["unitd", "--no-daemon", "--state", "/state"]

config.json

{
    "listeners": {
        "*:80": {
            "application": "node"
        }
    },
    "applications": {
        "node": {
            "type": "php",
            "user": "www-data",
            "group": "www-data",
            "root": "/www",
            "index": "index.php"
        }
    }
}

Build: docker build -t unitd .

How to run:

docker run  -d --name site_blindage_unitd \
   -v /var/www/blindage.org:/www \
   -p 5004:80 \
   unitd

See also “Standalone PHP application inside docker container with nginx unit

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2019-10-16 16:22:41

#docker hub опять разъебало, самое время снова задуматься поднять локальный кеш образов docs.docker.com/registry/recip а поскольку принудительный pull образов еще никто не отменял можно создать целое локальное зеркало образов чтобы зависеть от хаба как можно меньше. #devops #linux

# 2019-10-16 16:07:39

Уже попользовался частью этих ништяков systemd для ограничения памяти и процессорного времени для софтины habr.com/ru/post/270165/ когда-нибудь я про это вам расскажу #devops #linux #systemd

# 2019-10-16 15:20:49

Невероятно крутая штука для бэкапа и восстановления #postgres с хранением в S3 совместимом хранилище github.com/wal-g/wal-g #devops


© Vladimir Smagin, 2005-2019. Копирование материалов без разрешения запрещено. GPG DA4CD0F5E222EA727D6A40C413BCE12E5618F071 *
Яндекс.Метрика

Fortune cookie: Spam del giorno: inserisci il tuo user ID