Skip to content

Commit 0c049b4

Browse files
committed
fix(deployment): use docker API instead of CLI
1 parent 93ef5ae commit 0c049b4

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

packages/deployment/src/init.js

+14-3
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,20 @@ const makeProviders = ({ env, inquirer, wr, setup, fetch, needBacktick }) => ({
117117
askDetails: async (_provider, _myDetails) => {
118118
let vspec = '';
119119

120-
const dockerInfo = await needBacktick(`docker info`);
121-
const cgroupMatch = dockerInfo.match(/^\s*Cgroup\sVersion:\s*(\d+)/im);
122-
if (!cgroupMatch || Number(cgroupMatch[1]) < 2) {
120+
let cgroupVersion = 0;
121+
try {
122+
const dockerInfo = JSON.parse(
123+
await needBacktick(
124+
`curl -s --unix-socket /var/run/docker.sock http://localhost/v1.41/info`,
125+
),
126+
);
127+
cgroupVersion = parseInt(dockerInfo.CgroupVersion, 10);
128+
} catch (e) {
129+
// Ignore
130+
}
131+
132+
// Tolerate NaN returned by any parseInt errors.
133+
if (!(cgroupVersion >= 2)) {
123134
// Older cgroup version, we need to mount `/sys/fs/cgroup` explicitly
124135
// for our Agoric deployment Docker containers' systemd.
125136
vspec += ',/sys/fs/cgroup:/sys/fs/cgroup';

0 commit comments

Comments
 (0)