Difference between revisions of "Docker ARM Synology"

From Servarr
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
−
Log in as root to your synology.  Download and extract the docker binaries by running:
+
[https://wiki.servarr.com/en/docker-arm-synology Moved to the new wiki]
−
 
 
−
<pre>
 
−
curl https://download.docker.com/linux/static/stable/aarch64/docker-20.10.0.tgz | tar -xz -C /usr/local/bin --strip-components=1
 
−
</pre>
 
−
 
 
−
Create somewhere for the docker files to live:
 
−
 
 
−
mkdir -p /volume1/@Docker/lib
 
−
mkdir /docker
 
−
mount -o bind "/volume1/@Docker/lib" /docker
 
−
 
 
−
Configure docker:
 
−
<pre>
 
−
mkdir -p /usr/local/etc/docker
 
−
cat <<EOT > /usr/local/etc/docker/docker.json
 
−
{
 
−
  "storage-driver": "vfs",
 
−
  "iptables": false,
 
−
  "bridge": "none",
 
−
  "data-root": "/docker"
 
−
}
 
−
EOT
 
−
</pre>
 
−
 
 
−
Enable docker to start on boot:
 
−
 
 
−
<pre>
 
−
cat <<'EOT' > /usr/local/etc/rc.d/docker.sh
 
−
#!/bin/sh
 
−
# Start docker daemon
 
−
 
 
−
NAME=dockerd
 
−
PIDFILE=/var/run/$NAME.pid
 
−
DAEMON_ARGS="--config-file=/usr/local/etc/docker/docker.json --pidfile=$PIDFILE"
 
−
 
 
−
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
 
−
EOT
 
−
 
 
−
chmod 755 /usr/local/etc/rc.d/docker.sh
 
−
</pre>
 
−
 
 
−
Create the docker group, replacing MYUSERNAME with the username you use to log in with SSH
 
−
 
 
−
synogroup --add docker root MYUSERNAME
 
−
 
 
−
Start it!
 
−
 
 
−
/usr/local/etc/rc.d/docker.sh start
 
−
 
 
−
Reboot. 
 
−
 
 
−
You can try to install docker compose:
 
−
 
 
−
<pre>
 
−
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
 
−
sudo chmod +x /usr/local/bin/docker-compose
 
−
</pre>
 
−
 
 
−
But in our test this failed with
 
−
<pre>
 
−
Status: Downloaded newer image for ghcr.io/linuxserver/docker-compose:latest
 
−
docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: open /dev/ptmx: no such file or directory: unknown.
 
−
</pre>
 
−
 
 
−
You can start portainer with:
 
−
docker run --network=host -v "/var/run/docker.sock:/var/run/docker.sock"  portainer/portainer-ce:linux-arm64
 
−
 
 
−
Which will start portainer on port 9000 on the host.
 

Latest revision as of 20:25, 12 July 2021