@@ -125,12 +125,12 @@ async function run() {
125125
126126 core . startGroup ( 'install docker' )
127127 // await exec.exec('brew', ['update'])
128- await exec . exec ( 'wget' , [ 'https://raw.githubusercontent.com/Homebrew/homebrew-cask/300b1dcc6d9f61cc93e9351e76066f0846beefe9/Casks/docker.rb' ] ) ;
128+ // await exec.exec('wget', ['https://raw.githubusercontent.com/Homebrew/homebrew-cask/300b1dcc6d9f61cc93e9351e76066f0846beefe9/Casks/docker.rb']);
129129 await exec . exec ( 'brew' , [
130130 'install' ,
131131 '--cask' ,
132- // DOCKER_CHANNEL !== 'stable' ? 'docker' : 'docker'
133- 'docker.rb' ,
132+ DOCKER_CHANNEL !== 'stable' ? 'docker' : 'docker' ,
133+ // 'docker.rb',
134134 ] ) ;
135135 core . endGroup ( ) ;
136136
@@ -147,78 +147,30 @@ async function run() {
147147 ] ) ;
148148 core . endGroup ( ) ;
149149
150- // allow the app to run without confirmation
151- await exec . exec ( 'xattr' , [
152- '-d' ,
153- '-r ' ,
154- 'com.apple.quarantine ' ,
155- '/Applications/Docker.app '
150+ core . startGroup ( 'start docker step1' ) ;
151+ // https://github.com/docker/for-mac/issues/2359#issuecomment-943131345
152+ await exec . exec ( 'sudo' , [
153+ '/Applications/Docker.app/Contents/MacOS/Docker ' ,
154+ '--unattended ' ,
155+ '--install-privileged-components '
156156 ] ) ;
157-
158- // preemptively do docker.app's setup to avoid any gui prompts
159- core . startGroup ( 'start docker' ) ;
157+ core . endGroup ( ) ;
158+ core . startGroup ( 'start docker step2' ) ;
159+ await exec . exec ( 'open' , [
160+ '-a' ,
161+ '/Applications/Docker.app' ,
162+ '--args' ,
163+ '--unattended' ,
164+ '--accept-license'
165+ ] ) ;
166+ core . endGroup ( ) ;
167+ core . startGroup ( 'wait docker running' ) ;
160168 await exec . exec ( 'sudo' , [
161169 'bash' ,
162170 '-c' ,
163171 `
164172set -x
165-
166- VmnetdVersion=$(cat /Applications/Docker.app/Contents/Info.plist | tail -5 | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
167-
168- cat <<EOF | tee /tmp/com.docker.vmnetd.plist
169- <?xml version="1.0" encoding="UTF-8"?>
170- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
171- <plist version="1.0">
172- <dict>
173- <key>Label</key>
174- <string>com.docker.vmnetd</string>
175- <key>Program</key>
176- <string>/Library/PrivilegedHelperTools/com.docker.vmnetd</string>
177- <key>ProgramArguments</key>
178- <array>
179- <string>/Library/PrivilegedHelperTools/com.docker.vmnetd</string>
180- </array>
181- <key>RunAtLoad</key>
182- <true/>
183- <key>Sockets</key>
184- <dict>
185- <key>Listener</key>
186- <dict>
187- <key>SockPathMode</key>
188- <integer>438</integer>
189- <key>SockPathName</key>
190- <string>/var/run/com.docker.vmnetd.sock</string>
191- </dict>
192- </dict>
193- <key>Version</key>
194- <string>\${VmnetdVersion}</string>
195- </dict>
196- </plist>
197- EOF
198-
199- sudo /bin/cp /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnetd /Library/PrivilegedHelperTools
200- # sudo /bin/cp /Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist /Library/LaunchDaemons/
201- sudo /bin/cp /tmp/com.docker.vmnetd.plist /Library/LaunchDaemons/
202- sudo /bin/chmod 544 /Library/PrivilegedHelperTools/com.docker.vmnetd
203- sudo /bin/chmod 644 /Library/LaunchDaemons/com.docker.vmnetd.plist
204- sudo /bin/launchctl load /Library/LaunchDaemons/com.docker.vmnetd.plist
205- open -g /Applications/Docker.app || exit
206-
207- sleep 60
208-
209- docker info > /dev/null || true
210-
211- sleep 30
212-
213- docker info > /dev/null || true
214- # Wait for the server to start up, if applicable.
215- i=0
216- while ! docker system info &>/dev/null; do
217- (( i++ == 0 )) && printf %s '-- Waiting for Docker to finish starting up...' || printf '.'
218- sleep 1
219- done
220- (( i )) && printf '\n'
221-
173+ while ! /Applications/Docker.app/Contents/Resources/bin/docker info &>/dev/null; do sleep 1;done
222174echo "-- Docker is ready."
223175` ] ) ;
224176 core . endGroup ( ) ;
0 commit comments