Skip to content
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

Update Docker dind to 20.10.7-dind #327

Closed
wants to merge 1 commit into from

Conversation

prologic
Copy link

Fixes #326

I believe this resolves the issue I described in #326

I'm not sure how to test this myself, without just building my own plugins/docker
which I haven't done bfore...

@bradrydzewski
Copy link
Member

There is a problem with the official Docker-in-Docker images that prevents upgrading at the moment. See #306 (comment)

@CirnoT
Copy link

CirnoT commented Jul 13, 2021

Either Docker version must be upgraded or #322 must be merged again (can't see why it would cause mentioned issues, possibly these were stray issues unrelated to changes made or possibly users are using cgroupsv2) or we will block using Alpine 3.14 images forever.

In addition, the old version of Docker prevents usage of cgroupsv2.

@techknowlogick
Copy link
Contributor

@CirnoT I've built and pushed my fork here with the linked PR: https://hub.docker.com/r/techknowlogick/drone-docker for arm64&amd64 in case you need it.

@prologic
Copy link
Author

There is a problem with the official Docker-in-Docker images that prevents upgrading at the moment. See #306 (comment)

Is it worth holding back for one platform? THis is CI we're talking about here, I'd imagine most CI runs are on amd64 and presumably on Linux anyway. Without the update a lot of folks's workflows that depend on Make and use Alpine are broken.

@prologic
Copy link
Author

So I worked out how to build and use this in my environment, but there are problems with it. See attached log.

logs_yarnsocial_yarn_1_3.log

@CirnoT
Copy link

CirnoT commented Jul 14, 2021

Is it worth holding back for one platform? THis is CI we're talking about here, I'd imagine most CI runs are on amd64 and presumably on Linux anyway.

ARM (more specifically however ARM64) is gaining more traction every day, abandoning it here would bring more bad than the Alpine 3.14 issue.
While Drone definitely needs to support ARM32 v6/v7, is it worth keeping DID support for this architecture still @bradrydzewski? I imagine nowadays most CI/CD aimed at this architecture would be native code for embedded applications. I suppose Docker here is of similar opinion as they clearly don't consider this platform of importance enough to fix the issue for months. Frankly I suspect they'd drop it entirely rather than fixing it.

@prologic
Copy link
Author

Regardless of the support of other arches (I agree they should continue to be supproted), I can't even get the Docker daemon started when upgrading the plugin to use 20.10.7-dind. There are numerous problems with the startup, mostly around "Operation not permitted" and IPTables rubbish. I'm actually not sure how to resolve any of these at the moment...

@prologic
Copy link
Author

Ahhh I found what I needed

DRONE_RUNNER_PRIVILEGED_IMAGES

@techknowlogick
Copy link
Contributor

@prologic a note, if you use the autoscaler the env var you'll need to set for the autoscaler itself is DRONE_RUNNER_PRIVILEGED

@prologic
Copy link
Author

I got this working successfully. So this PR at least is functional. One thing to note for anyone running Drone and Drone Runner(s) in Docker Swarm is to ensure your runners have access to the default bridge network if you intend to go out over the Internet and back again like I do for some things (stupid I know, I should fix this one day) -- If you don't get end up with weird obscure errors like:

dial tcp: lookup ... on 127.0.0.11:53: read udp 127.0.0.1:xxxxx->127.0.0.11:53: read: connection refused

witten added a commit to borgmatic-collective/borgmatic that referenced this pull request Jul 26, 2021
@CirnoT
Copy link

CirnoT commented Aug 30, 2021

@bradrydzewski Debian 11 has been released along with new systemd and unified cgroupsv2. Docker 19 does not support cgroupsv2 and DID will always fail on such setup. Workaround of systemd.unified_cgroup_hierarchy=0 is unsupported by systemd and heavily discouraged by Debian maintainers.

Is this repository still being maintained or are we to assume that Drone has no intent to move forward with technology and replacement should be found?

@@ -1,4 +1,4 @@
FROM arm32v6/docker:19.03.8-dind
FROM arm32v6/docker:20.10.7-dind
Copy link

Choose a reason for hiding this comment

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

Reverting back to 19.03.8 for arm32 should allow us to move forward with 20.10 on rest of platforms while keeping (on life support, as it seems Docker very much does not care about that platform anymore) arm32 usable

docker-library/docker#260
#306

Choose a reason for hiding this comment

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

I agree, rolling this back seems pragmatic...

Suggested change
FROM arm32v6/docker:20.10.7-dind
FROM arm32v6/docker:19.03.8-dind

@ASDFGamer ASDFGamer mentioned this pull request Sep 9, 2021
@bradrydzewski
Copy link
Member

for docker/docker/Dockerfile.linux.arm we need to use FROM arm32v6/docker:19.03.8-dind since docker is no longer publishing arm32 images. So if we revert changes to docker/docker/Dockerfile.linux.arm we can merge this pull request. thanks!

@johnmarksilly
Copy link

johnmarksilly commented Sep 23, 2021

Bump +1 My team is currently stuck manually building our prod images locally due to this CI issue :(

Manually setting privileged on the build works with techknowlogik's fork, but doesn't seem like the best route going forward

gzm0 added a commit to gzm0/drone-docker that referenced this pull request Sep 27, 2021
This is an alternative to drone-plugins#327. As the discussion on that PR shows, it
seems docker is not going to provide updates for the arm32 platform
anymore.

Fixes drone-plugins#326 and fixes drone-plugins#330.
@dessalines
Copy link

dessalines commented Oct 8, 2021

Also waiting on this. Builds using arm64 are currently broken with this plugin, giving cgroups: cgroup mountpoint does not exist: unknown

Copy link

@WillGibson WillGibson left a comment

Choose a reason for hiding this comment

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

How do we move forward with this?

@@ -1,4 +1,4 @@
FROM docker:19.03.8-dind
FROM docker:20.10.7-dind

Choose a reason for hiding this comment

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

20.10.9 is available now...

Suggested change
FROM docker:20.10.7-dind
FROM docker:20.10.9-dind

@@ -1,4 +1,4 @@
FROM arm32v6/docker:19.03.8-dind
FROM arm32v6/docker:20.10.7-dind

Choose a reason for hiding this comment

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

I agree, rolling this back seems pragmatic...

Suggested change
FROM arm32v6/docker:20.10.7-dind
FROM arm32v6/docker:19.03.8-dind

@@ -1,4 +1,4 @@
FROM arm64v8/docker:19.03.8-dind
FROM arm64v8/docker:20.10.7-dind

Choose a reason for hiding this comment

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

20.10.9 is available now...

Suggested change
FROM arm64v8/docker:20.10.7-dind
FROM arm64v8/docker:20.10.9-dind

gzm0 added a commit to gzm0/drone-docker that referenced this pull request Oct 18, 2021
This is an alternative to drone-plugins#327. As the discussion on that PR shows, it
seems docker is not going to provide updates for the arm32 platform
anymore.

Fixes drone-plugins#326 and fixes drone-plugins#330.
@dessalines
Copy link

Does anyone have a working docker image of drone plugins that works for newer docker versions? This is stopping my arm deploys for weeks now.

@eoinmcafee00
Copy link
Contributor

Closing as no longer required.
Updated in latest release https://github.com/drone-plugins/drone-docker/releases/tag/v20.10.9

rerImpowhormavg added a commit to rerImpowhormavg/borgmatic that referenced this pull request Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants