Skip to content
This repository was archived by the owner on Nov 4, 2021. It is now read-only.

Commit 1a99181

Browse files
committed
- Docker setup adjustments
- Docker console util
1 parent 5610b85 commit 1a99181

File tree

11 files changed

+202
-55
lines changed

11 files changed

+202
-55
lines changed

composer.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,5 @@
4141
"ScoutElastic\\ScoutElasticServiceProvider"
4242
]
4343
}
44-
},
45-
"scripts": {
46-
"test": "vendor/bin/phpunit -c phpunit.xml"
4744
}
4845
}

docker/console

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
#!/bin/sh
2+
3+
bg_red="\033[41m"
4+
bg_green="\033[42m"
5+
bg_black="\033[40m"
6+
7+
txt_white="\033[0;37m"
8+
txt_yellow="\033[0;33m"
9+
txt_green="\033[0;32m"
10+
11+
color_reset="\033[0m"
12+
13+
error()
14+
{
15+
echo "${txt_white}${bg_red}$@"
16+
}
17+
18+
success()
19+
{
20+
echo "${txt_white}${bg_green}$@"
21+
}
22+
23+
dk_help()
24+
{
25+
echo \
26+
"${txt_yellow}Available commands:${color_reset} \n" \
27+
"${txt_green}link${color_reset} Create executable /usr/local/bin/dk\n" \
28+
"${txt_green}unlink${color_reset} Remove executable /usr/local/bin/dk\n" \
29+
"${txt_green}up${color_reset} Create and start containers\n" \
30+
"${txt_green}down${color_reset} Stop and remove containers, networks, images, and volumes\n" \
31+
"${txt_green}rebuild${color_reset} Rebuild and restart containers\n" \
32+
"${txt_green}run${color_reset} Run a command in a new container, then remove container when it exits\n" \
33+
"${txt_green}exec${color_reset} Run a command in a running container\n" \
34+
"${txt_green}artisan${color_reset} Run an artisan command\n" \
35+
"${txt_green}tinker${color_reset} Launch tinker\n" \
36+
"${txt_green}tests${color_reset} Run tests\n"
37+
}
38+
39+
dk_link()
40+
{
41+
source="`pwd`/$0"
42+
target="/usr/local/bin/${1:-dk}"
43+
44+
if [ -f $target ]
45+
then
46+
error "$target already exists"
47+
return
48+
fi
49+
50+
echo \
51+
"#!/bin/sh\n" \
52+
"export dk_bin=$target\n" \
53+
"cd `dirname $source`\n" \
54+
"./`basename $source` \$@\n" \
55+
> $target
56+
57+
chmod +x $source
58+
chmod +x $target
59+
60+
success "$target was created"
61+
}
62+
63+
dk_unlink()
64+
{
65+
if [ -z $dk_bin ]
66+
then
67+
error "link not found"
68+
return
69+
fi
70+
71+
rm $dk_bin
72+
73+
success "$dk_bin was removed"
74+
}
75+
76+
dk_up()
77+
{
78+
docker-compose up $@
79+
}
80+
81+
dk_down()
82+
{
83+
docker-compose down $@
84+
}
85+
86+
dk_rebuild()
87+
{
88+
dk_down --volumes --rmi all
89+
dk_up --build -d
90+
}
91+
92+
dk_run()
93+
{
94+
service=$1
95+
shift
96+
97+
docker-compose run --rm $service $@
98+
}
99+
100+
dk_exec()
101+
{
102+
service=$1
103+
shift
104+
105+
docker-compose exec $service $@
106+
}
107+
108+
dk_artisan()
109+
{
110+
dk_run php ./artisan $@
111+
}
112+
113+
dk_tinker()
114+
{
115+
dk_artisan tinker
116+
}
117+
118+
dk_tests()
119+
{
120+
dk_run php /app/driver/vendor/bin/phpunit -c /app/driver/phpunit.xml
121+
}
122+
123+
command=dk_${1:-help}
124+
shift
125+
126+
if [ "`type -t $command`" = "function" ]
127+
then
128+
$command $@
129+
else
130+
error "Command not found"
131+
fi

docker/docker-compose.yml

Lines changed: 43 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,46 @@ networks:
77
default-net:
88

99
services:
10+
driver:
11+
build:
12+
context: ..
13+
dockerfile: docker/driver/Dockerfile
14+
volumes:
15+
- ./..:/app/driver
16+
networks:
17+
- default-net
1018
laravel:
1119
build:
12-
context: ./..
20+
context: laravel
1321
args:
1422
version: v5.6.*
15-
dockerfile: ./docker/laravel/Dockerfile
23+
dockerfile: Dockerfile
1624
volumes:
17-
- ./..:/app/scout-elasticsearch-driver
25+
- ./..:/app/driver
1826
- laravel:/app/laravel
1927
networks:
2028
- default-net
2129
php:
2230
build:
23-
context: ./php
31+
context: php
2432
args:
2533
version: 7.2
26-
dockerfile: ./Dockerfile
34+
dockerfile: Dockerfile
2735
depends_on:
2836
- laravel
2937
- mysql
30-
- elastic
38+
# - elastic
3139
volumes:
40+
- ./..:/app/driver
3241
- laravel:/app/laravel
3342
networks:
3443
- default-net
3544
mysql:
3645
build:
37-
context: ./mysql
46+
context: mysql
3847
args:
3948
version: 5.7
40-
dockerfile: ./Dockerfile
49+
dockerfile: Dockerfile
4150
volumes:
4251
- ./mysql/data:/var/lib/mysql
4352
environment:
@@ -47,29 +56,29 @@ services:
4756
- default-net
4857
ports:
4958
- 13306:3306
50-
elastic:
51-
build:
52-
context: ./elastic
53-
args:
54-
version: 6.2.4
55-
dockerfile: ./Dockerfile
56-
volumes:
57-
- ./elastic/data:/usr/share/elasticsearch/data
58-
networks:
59-
- default-net
60-
ports:
61-
- 19200:9200
62-
kibana:
63-
build:
64-
context: ./kibana
65-
args:
66-
version: 6.2.4
67-
dockerfile: ./Dockerfile
68-
depends_on:
69-
- elastic
70-
environment:
71-
ELASTICSEARCH_URL: http://elastic:9200
72-
networks:
73-
- default-net
74-
ports:
75-
- 15601:5601
59+
# elastic:
60+
# build:
61+
# context: elastic
62+
# args:
63+
# version: 6.2.4
64+
# dockerfile: Dockerfile
65+
# volumes:
66+
# - ./elastic/data:/usr/share/elasticsearch/data
67+
# networks:
68+
# - default-net
69+
# ports:
70+
# - 19200:9200
71+
# kibana:
72+
# build:
73+
# context: kibana
74+
# args:
75+
# version: 6.2.4
76+
# dockerfile: Dockerfile
77+
# depends_on:
78+
# - elastic
79+
# environment:
80+
# ELASTICSEARCH_URL: http://elastic:9200
81+
# networks:
82+
# - default-net
83+
# ports:
84+
# - 15601:5601

docker/driver/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
FROM composer:latest
2+
3+
WORKDIR /app/driver
4+
5+
# Bootstrap
6+
COPY docker/driver/bootstrap /usr/local/bin/bootstrap
7+
RUN chmod 544 /usr/local/bin/bootstrap
8+
CMD ["bootstrap"]

docker/driver/bootstrap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
3+
# Install dependencies
4+
composer install --no-interaction

docker/laravel/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ WORKDIR /app/laravel
88
RUN composer create-project --no-interaction --prefer-dist laravel/laravel . $version
99

1010
# Setup environment
11-
COPY ./docker/laravel/.env .env
11+
COPY .env .env
1212

1313
# Copy migrations
1414
RUN rm database/migrations/*
15-
COPY ./docker/laravel/database/migrations/* database/migrations/
15+
COPY database/migrations/* database/migrations/
1616

1717
# Copy seeders
1818
RUN rm database/seeds/*
19-
COPY ./docker/laravel/database/seeds/* database/seeds/
19+
COPY database/seeds/* database/seeds/
2020

2121
# Regenerate autoloader
22-
RUN composer dump-autoload
22+
RUN composer dump-autoload --no-interaction
2323

2424
# Bootstrap
25-
COPY ./docker/laravel/bootstrap.sh /usr/local/bin/bootstrap
25+
COPY bootstrap /usr/local/bin/bootstrap
2626
RUN chmod 544 /usr/local/bin/bootstrap
2727
CMD ["bootstrap"]

docker/laravel/bootstrap

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/sh
2+
3+
# Add driver repository
4+
composer config --no-interaction repositories.scout-elasticsearch-driver \
5+
'{"type": "path", "url": "../driver", "options": {"symlink": true}}'
6+
7+
# Require driver package
8+
composer require --no-interaction --prefer-dist babenkoivan/scout-elasticsearch-driver:@dev

docker/laravel/bootstrap.sh

Lines changed: 0 additions & 10 deletions
This file was deleted.

docker/php/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ RUN docker-php-ext-install \
99
WORKDIR /app/laravel
1010

1111
# Bootstrap
12-
COPY ./bootstrap.sh /usr/local/bin/bootstrap
12+
COPY bootstrap /usr/local/bin/bootstrap
1313
RUN chmod 544 /usr/local/bin/bootstrap
1414
CMD ["bootstrap"]

docker/php/bootstrap.sh renamed to docker/php/bootstrap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env sh
1+
#!/bin/sh
22

33
# Clear application cache
44
php artisan cache:clear --no-interaction

0 commit comments

Comments
 (0)