Skip to content

Instantly share code, notes, and snippets.

@lcdss
Last active January 14, 2019 12:04
Show Gist options
  • Save lcdss/f79f8cd996eb8f7d1e77ac7e63c60310 to your computer and use it in GitHub Desktop.
Save lcdss/f79f8cd996eb8f7d1e77ac7e63c60310 to your computer and use it in GitHub Desktop.
Docker run
- docker
- www
- app1
- app2
- config
- nginx
- logs
- nginx
- data
- mariadb
docker run -itd \
--restart unless-stopped \
--name nginx \
--network backend \
-p 80:80 \
-p 443:443 \
-v ~/docker/www:/var/www \
-v ~/docker/config/nginx:/etc/nginx/conf.d \
-w /var/www \
nginx:alpine
docker run -itd \
--restart unless-stopped \
--name php \
--network backend \
-v ~/docker/www:/var/www \
-w /var/www \
php:fpm-alpine
docker run -itd \
--restart unless-stopped \
--name mariadb \
--network backend \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=dbname \
mariadb
# PHP Extensions
docker-php-ext-install pdo_mysql
docker-php-ext-install opcache
# Not confirmed if it is necessary
sysctl net.ipv4.conf.all.forwarding=1
iptables -P FORWARD ACCEPT
# Problems to solve
folders permissions - maybe using the same user/group when running the container
auto install some extensions inside php container - exists a faster solution than creating a custom Dockerfile?
# Alias / Functions
composer () {
tty=
tty -s && tty=--tty
docker run \
$tty \
--interactive \
--rm \
--user $(id -u):$(id -g) \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \
--volume $(pwd):/app \
composer "$@"
}
npm () {
tty=
tty -s && tty=--tty
docker run \
$tty \
--interactive \
--rm \
-w /usr/src/app \
--user $(id -u):$(id -g) \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \
--volume $(pwd):/usr/src/app \
node:alpine npm --no-cache "$@"
}
php () {
tty=
tty -s && tty=--tty
docker run \
$tty \
--interactive \
--rm \
-w /usr/src/app \
--user $(id -u):$(id -g) \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \
--volume $(pwd):/usr/src/app \
php:alpine "$@"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment