Skip to content

DEV: Docker development improvements#13117

Merged
davidtaylorhq merged 3 commits into
masterfrom
docker-dev
May 21, 2021
Merged

DEV: Docker development improvements#13117
davidtaylorhq merged 3 commits into
masterfrom
docker-dev

Conversation

@davidtaylorhq

Copy link
Copy Markdown
Member
  • DEV: Only mount top-level plugin symlinks

    Sometimes plugins directories will end up with other symlinks (e.g. inside node_modules folders). This logic does not work with deeply nested symlinks, and they are unlikely to be necessary for the plugin to work. Therefore we should only look for symlinks in the top-level of the plugins directory

  • DEV: Update docker development binstubs

    • Add d/ember-cli, and publish port 4200
    • Remove d/sidekiq. Sidekiq is now started with the rails server
    • Move all docker exec logic into a single place, so we have one place to set environment variable pass-throughs
    • Use exec for all bash scripts, so that return statuses are passed back correctly
    • Avoid using bin/bash -c unnecessarily, because it makes escaping arguments difficult
  • DEV: Add non-x86_64 warning to d/boot_dev

    Running a development environment using Docker's qemu architecture emulation is currently not possible because inotify is not supported: In docker desktop preview, the inotify function fails on a container with platform set to linux/amd64. docker/for-mac#5321

Sometimes plugins directories will end up with other symlinks (e.g. inside node_modules folders). This logic does not work with deeply nested symlinks, and they are unlikely to be necessary for the plugin to work. Therefore we should only look for symlinks in the top-level of the `plugins` directory
- Add `d/ember-cli`, and publish port 4200
- Remove `d/sidekiq`. Sidekiq is now started with the rails server
- Move all `docker exec` logic into a single place, so we have one place to set environment variable pass-throughs
- Use `exec` for all bash scripts, so that return statuses are passed back correctly
- Avoid using `bin/bash -c` unnecessarily, because it makes escaping arguments difficult
Running a development environment using Docker's qemu architecture emulation is currently not possible because `inotify` is not supported: docker/for-mac#5321
@discoursebot

Copy link
Copy Markdown
Contributor

This pull request has been mentioned on Discourse Meta. There might be relevant details there:

https://meta.discourse.org/t/beginners-guide-to-install-discourse-for-development-using-docker/102009/1

@davidtaylorhq davidtaylorhq requested review from cvx and eviltrout and removed request for eviltrout May 21, 2021 15:34

@cvx cvx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff!

@davidtaylorhq davidtaylorhq merged commit 78f9d47 into master May 21, 2021
@davidtaylorhq davidtaylorhq deleted the docker-dev branch May 21, 2021 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants