Difference between revisions of "Docker ARM Synology"

From Servarr
Line 1: Line 1:
Download https://download.docker.com/linux/static/stable/aarch64/
+
Log in as root to your synology.  Download and extract the docker binaries by running:
  
tar xzvf /path/to/.tar.gz
+
curl https://download.docker.com/linux/static/stable/aarch64/docker-20.10.0.tgz | tar -xz -C /usr/local/bin --strip-components=1
sudo cp docker/* /usr/bin/
 
  
sudo mkdir -p /volume1/@Docker/lib
+
Create somewhere for the docker files to live:
sudo mkdir /docker
 
sudo mount -o bind "/volume1/@Docker/lib" /docker
 
  
sudo mkdir /etc/docker
+
mkdir -p /volume1/@Docker/lib
sudo vi /etc/docker/docker.json
+
mkdir /docker  
 +
mount -o bind "/volume1/@Docker/lib" /docker
  
 +
Configure docker:
 +
<pre>
 +
mkdir -p /usr/local/etc/
 +
cat <<EOT >> /usr/local/etc/docker/docker.json
 
{
 
{
 
   "storage-driver": "vfs",
 
   "storage-driver": "vfs",
Line 17: Line 19:
 
   "data-root": "/docker"
 
   "data-root": "/docker"
 
}
 
}
 +
EOT
 +
</pre>
 +
 +
Enable docker to start on boot:
 +
 +
<pre>
 +
cat <<EOT >> /usr/local/etc/rc.d/docker
 +
#!/bin/sh
 +
# Start docker daemon
 +
 +
NAME=dockerd
 +
PIDFILE=/usr/local/var/run/$NAME.pid
 +
DAEMON_ARGS="--config-file=/usr/local/etc/docker/docker.json --pidfile=$PIDFILE"
 +
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
 +
 +
case "$1" in
 +
    start)
 +
        echo "Starting docker daemon"
 +
        mount -o bind "/volume1/@Docker/lib" /docker
 +
        /usr/local/bin/dockerd $DAEMON_ARGS &
 +
        ;;
 +
    stop)
 +
        echo "Stopping docker daemon"
 +
        kill $(cat $PIDFILE)
 +
        ;;
 +
    *)
 +
        echo "Usage: "$1" {start|stop}"
 +
        exit 1
 +
esac
 +
exit 0
 +
 +
Reboot

Revision as of 14:27, 11 December 2020

Log in as root to your synology. Download and extract the docker binaries by running:

curl https://download.docker.com/linux/static/stable/aarch64/docker-20.10.0.tgz | tar -xz -C /usr/local/bin --strip-components=1

Create somewhere for the docker files to live:

mkdir -p /volume1/@Docker/lib 
mkdir /docker 
mount -o bind "/volume1/@Docker/lib" /docker

Configure docker:

mkdir -p /usr/local/etc/
cat <<EOT >> /usr/local/etc/docker/docker.json
{
  "storage-driver": "vfs",
  "iptables": false,
  "bridge": "none",
  "data-root": "/docker"
}
EOT

Enable docker to start on boot:

cat <<EOT >> /usr/local/etc/rc.d/docker
#!/bin/sh
# Start docker daemon

NAME=dockerd
PIDFILE=/usr/local/var/run/$NAME.pid
DAEMON_ARGS="--config-file=/usr/local/etc/docker/docker.json --pidfile=$PIDFILE"
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

case "$1" in
    start)
        echo "Starting docker daemon"
        mount -o bind "/volume1/@Docker/lib" /docker
        /usr/local/bin/dockerd $DAEMON_ARGS &
        ;;
    stop)
        echo "Stopping docker daemon"
        kill $(cat $PIDFILE)
        ;;
    *)
        echo "Usage: "$1" {start|stop}"
        exit 1
esac
exit 0

Reboot