All Projects → arunvelsriram → Docker Time Sync Agent

arunvelsriram / Docker Time Sync Agent

Licence: apache-2.0
docker-time-sync-agent is a tool to prevent time drift in Docker for Mac's HyperKit VM.

Labels

Projects that are alternatives of or similar to Docker Time Sync Agent

Coffeefy
스타벅스 Wifi 자동접속 맥 애플리케이션
Stars: ✭ 128 (-15.79%)
Mutual labels:  osx
Eid Mw
eID Middleware (main repository)
Stars: ✭ 137 (-9.87%)
Mutual labels:  osx
Go Gtk
Go binding for GTK
Stars: ✭ 1,832 (+1105.26%)
Mutual labels:  osx
Evilosx
An evil RAT (Remote Administration Tool) for macOS / OS X.
Stars: ✭ 1,826 (+1101.32%)
Mutual labels:  osx
React Osx Dock
React component that is magnifiable like the Mac OS X dock.
Stars: ✭ 136 (-10.53%)
Mutual labels:  osx
Youtube Music
🎵 A Mac app wrapper for music.youtube.com
Stars: ✭ 2,097 (+1279.61%)
Mutual labels:  osx
Simpleopenni
SimpleOpenNI library for Processing 3.5.2, 3.4, 3.3.7, 3.3.6 on MacOS for V1 and V2
Stars: ✭ 124 (-18.42%)
Mutual labels:  osx
Profiles
🔎 Profiles (mobileconfig files) for macOS.
Stars: ✭ 149 (-1.97%)
Mutual labels:  osx
Trayplay
An app for macOS that lives in your menu bar and lets you easily control iTunes or Spotify, without interrupting your workflow.
Stars: ✭ 137 (-9.87%)
Mutual labels:  osx
Musaicfm
Screensaver inspired by Apple’s inbuilt iTunes Screensaver. It can display Artwork by Spotify or last.fm Profile Data.
Stars: ✭ 144 (-5.26%)
Mutual labels:  osx
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+1075.66%)
Mutual labels:  osx
Osx Kvm
Run macOS on QEMU/KVM. With OpenCore + Big Sur + Monterey support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.
Stars: ✭ 12,926 (+8403.95%)
Mutual labels:  osx
Magnetx
资源搜索型软件 macOS OSX magnet
Stars: ✭ 1,819 (+1096.71%)
Mutual labels:  osx
Vscode of
openFrameworks empty example for visual studio code
Stars: ✭ 129 (-15.13%)
Mutual labels:  osx
Omnifocus Stats
📊 Stats tool for OmniFocus.
Stars: ✭ 148 (-2.63%)
Mutual labels:  osx
Mailspring
💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Stars: ✭ 11,953 (+7763.82%)
Mutual labels:  osx
Tvrenamer
A Java GUI utility to rename TV episodes from TV listings
Stars: ✭ 139 (-8.55%)
Mutual labels:  osx
Chinese Lunar Calendar For Mac
Chinese Lunar Calendar for Mac
Stars: ✭ 150 (-1.32%)
Mutual labels:  osx
Imguifontstudio
Font Helper Gui Tool for programming
Stars: ✭ 149 (-1.97%)
Mutual labels:  osx
Platypus
Create native Mac applications from command line scripts.
Stars: ✭ 1,893 (+1145.39%)
Mutual labels:  osx

Note: Time drift issue is fixed in latest version of Docker for Mac. Please check https://github.com/docker/for-mac/issues/17.

docker-time-sync-agent

docker-time-sync-agent is a tool to prevent time drift in Docker for Mac's HyperKit VM.

Docker daemon fails to update the VM's time after computer wakes up from sleep. The result is that VM's clock will be set to a past time. This inturn will make Docker containers use that time.

So what's the problem if the container's use a wrong time ?
Some services (like S3, Okta) will block requests orginating from a source whose time is wrong. Few examples:

  • Uploading to S3 will retun a 403 Forbidden
  • SAML Authentication with Okta will fail

docker-time-sync-agent listens to system wakeup event and runs a shell script (update-docker-time) that updates the VM's time. Time sync can be triggered manually anytime by running update-docker-time.

Using launchd, docker-time-sync-agent can be made to autostart during login so that on every wakeup, time sync happens automatically.

Installation

Auto

curl https://raw.githubusercontent.com/arunvelsriram/docker-time-sync-agent/master/install.sh | bash

Manual

  1. Download the latest binaries from releases page
  2. unzip Binaries-Vx.y.z.zip
  3. mv /Binaries-Vx.y.z/docker-time-sync-agent /usr/local/bin/
  4. mv /Binaries-Vx.y.z/update-docker-time /usr/local/bin/
  5. Download this file io.github.arunvelsriram.docker-time-sync-agent.plist
  6. Open it and replace 'YOUR_USERNAME' with your Mac's username
  7. mv /path/to/io.github.arunvelsriram.docker-time-sync-agent.plist ~/Library/LaunchAgents/
  8. launchctl load ~/Library/LaunchAgents/io.github.arunvelsriram.docker-time-sync-agent.plist
  9. Use Console.app and ~/.docker-time-sync-agent.log file to see the logs
  10. Put the computer in sleep mode and wake it up. After 30s from wakeup, time sync will happen

Uninstallation

Manual

  1. Run the following commands from your terminal:

    launchctl unload ~/Library/LaunchAgents/io.github.arunvelsriram.docker-time-sync-agent.plist
    rm -f ~/Library/LaunchAgents/io.github.arunvelsriram.docker-time-sync-agent.plist
    rm -f /usr/local/bin/docker-time-sync-agent
    rm -f /usr/local/bin/update-docker-time
    rm -f ~/.docker-time-sync-agent.log
    

Contributing

See CONTRIBUTING.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].