@@ -125,12 +125,12 @@ async function run() {
125
125
126
126
core . startGroup ( 'install docker' )
127
127
// 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']);
129
129
await exec . exec ( 'brew' , [
130
130
'install' ,
131
131
'--cask' ,
132
- // DOCKER_CHANNEL !== 'stable' ? 'docker' : 'docker'
133
- 'docker.rb' ,
132
+ DOCKER_CHANNEL !== 'stable' ? 'docker' : 'docker' ,
133
+ // 'docker.rb',
134
134
] ) ;
135
135
core . endGroup ( ) ;
136
136
@@ -147,78 +147,30 @@ async function run() {
147
147
] ) ;
148
148
core . endGroup ( ) ;
149
149
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 '
156
156
] ) ;
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' ) ;
160
168
await exec . exec ( 'sudo' , [
161
169
'bash' ,
162
170
'-c' ,
163
171
`
164
172
set -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
222
174
echo "-- Docker is ready."
223
175
` ] ) ;
224
176
core . endGroup ( ) ;
0 commit comments