-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a docker registry for cache #283
base: main
Are you sure you want to change the base?
Conversation
211b26f
to
c0902e4
Compare
53e57e2
to
91c5947
Compare
Is there a simple way to get sudo back? I need it quiet often |
23573a0
to
334ab81
Compare
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏼
b408ca5
to
19efd5e
Compare
Hello, Thanks for this PR! I tested it on jolicode/qotd#62 and
|
Who push the cache ? It is highly recommendend that cache is push by the CI, version of docker / config from where the cache is pushed need to be controled as special configuration or version may make him unshareable. For the CI also i see this Did you make sur that GHA has correct permissions to read this package ? EDIT : In your case it miss the |
9755e6f
to
323250c
Compare
2964de5
to
064d0db
Compare
|
||
RUN phpenmod app-default \ | ||
&& phpenmod app-fpm | ||
|
||
EXPOSE 80 | ||
|
||
CMD ["runsvdir", "-P", "/etc/service"] | ||
CMD ["runsvdir", "-P", "/var/www/infrastructure/docker/services/php/frontend/etc/service"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm, this is not handy.
I have 2 symfony apps. But I want to use the vary same image php
.
So i used:
pro:
build:
context: services/php
target: web
back:
build:
context: services/php
target: web
But since the volume is mounted on both applications, there is a conflict:
root@ab4e7cad923e:/var/www# runsvdir -P /var/www/infrastructure/docker/services/php/web/etc/service
runsv php-fpm: fatal: unable to lock supervise/lock: temporary failure
runsv nginx: fatal: unable to lock supervise/lock: temporary failure
IMHO, we should NOT share container state with the host.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed like that for now
--- a/infrastructure/docker/services/php/Dockerfile
+++ b/infrastructure/docker/services/php/Dockerfile
@@ -83,6 +83,9 @@ RUN useradd -s /bin/false nginx
COPY web/php-configuration /etc/php/${PHP_VERSION}
COPY web/etc/nginx/. /etc/nginx/
+RUN rm -rf /etc/service/
+COPY web/etc/service/. /etc/service/
+RUN chmod 777 /etc/service/*/supervise/
RUN phpenmod app-default \
&& phpenmod app-fpm \
@@ -90,7 +93,7 @@ RUN phpenmod app-default \
EXPOSE 80
-CMD ["runsvdir", "-P", "/var/www/infrastructure/docker/services/php/web/etc/service"]
+CMD ["runsvdir", "-P", "/etc/service"]
FROM php-base AS worker
But I don't really like it
* Use buildx in each GitHub action workflow step | ||
|
||
```yaml | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
``` | ||
|
||
* Use the official Docker binary | ||
```yaml | ||
# Install official version of docker that correctly supports from-cache option in docker compose | ||
- name: Set up Docker | ||
uses: crazy-max/ghaction-setup-docker@v3 | ||
with: | ||
set-host: true | ||
|
||
# Docker socket path is different when using setup docker | ||
- name: Set Docker Socket Host | ||
run: echo "DOCKER_SOCKET_PATH=${DOCKER_HOST:5}" >> $GITHUB_ENV | ||
``` | ||
|
||
The second option is faster (there is no need to transfer images between buildx and local docker), but it is not | ||
officially supported by GitHub actions and may break in the future. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the record, I tested both ways, and the second way was twice (2×) faster!
Thanks
Fix #252
WHat it does :