MCPcopy Create free account
hub / github.com/SocketCluster/socketcluster / dockerRun

Function dockerRun

bin/actions/docker.js:44–84  ·  view source on GitHub ↗
(arg, options)

Source from the content-addressed store, hash-verified

42};
43
44const dockerRun = async function (arg, options) {
45 let appPath = arg || '.';
46 let absoluteAppPath = path.resolve(appPath);
47 let pkg = parsePackageFile(appPath);
48 let appName = pkg.name;
49
50 let portNumber = Number(options.p) || 8000;
51 let envVarList;
52 if (options.e === undefined) {
53 envVarList = [];
54 } else if (!Array.isArray(options.e)) {
55 envVarList = [options.e];
56 } else {
57 envVarList = options.e;
58 }
59 let envFlagList = envVarList.map((value) => {
60 return `-e "${value}"`;
61 });
62 let envFlagString = envFlagList.join(' ');
63 if (envFlagList.length > 0) {
64 envFlagString += ' ';
65 }
66
67 try {
68 execSync(`docker stop ${appName}`, { stdio: 'ignore' });
69 execSync(`docker rm ${appName}`, { stdio: 'ignore' });
70 } catch (e) {}
71
72 let dockerCommand =
73 `docker run -d -p ${portNumber}:8000 -v ${absoluteAppPath}:/usr/src/app/ ` +
74 `${envFlagString}--name ${appName} socketcluster/socketcluster:v${scVersion} `;
75 try {
76 execSync(dockerCommand, { stdio: 'inherit' });
77 this.successLog(
78 `App "${appName}" is running at http://localhost:${portNumber}`,
79 );
80 } catch (e) {
81 this.errorLog(`Failed to start app "${appName}".`);
82 }
83 process.exit();
84};
85
86const dockerList = async function () {
87 const commandRawArgsString = '';

Callers

nothing calls this directly

Calls 1

parsePackageFileFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…