|
|
|
|
@ -1,7 +1,9 @@
|
|
|
|
|
# Install docker
|
|
|
|
|
set -x
|
|
|
|
|
echo '#sudo bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"' > /etc/apt/sources.list.d/docker.list
|
|
|
|
|
echo "deb http://apt.dockerproject.org/repo debian-jessie main" >> /etc/apt/sources.list.d/docker.list
|
|
|
|
|
|
|
|
|
|
#sudo bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
|
|
|
|
|
|
|
|
|
|
sudo bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get -y install -q --no-install-recommends curl ca-certificates
|
|
|
|
|
sudo apt-get -y install --force-yes docker-engine
|
|
|
|
|
@ -11,13 +13,13 @@ sudo apt-get -y install --force-yes docker-engine
|
|
|
|
|
#sudo umount /dev/mapper/vg_prime-varLibDockerLV
|
|
|
|
|
#sudo mount /dev/mapper/vg_prime-varLibDockerLV /var/lib/docker
|
|
|
|
|
|
|
|
|
|
sudo bash -c `perl -p -i -e 's/#DOCKER_OPTS=""/DOCKER_OPTS="--restart=true"/g' /etc/default/docker`
|
|
|
|
|
sudo bash -c `sed -i "s/DOCKER_OPTS=\"\(.*\)\"/DOCKER_OPTS=\"\1 --storage-driver=zfs\"/" /etc/default/docker`
|
|
|
|
|
sudo bash -c `sed -i "s/DOCKER_OPTS=\"\(.*\)\"/DOCKER_OPTS=\"\1 --dns 8.8.8.8 --dns 8.8.4.4\"/" /etc/default/docker`
|
|
|
|
|
sudo bash -c `sed -i "s/DOCKER_OPTS=\"\(.*\)\"/DOCKER_OPTS=\"\1 zfs.fsname=rpool/docker\"/" /etc/default/docker`
|
|
|
|
|
sudo bash -c 'perl -p -i -e "s/#DOCKER_OPTS=\"\"/DOCKER_OPTS=\"--restart=true\"/g" /etc/default/docker'
|
|
|
|
|
sudo bash -c 'sed -i "s|DOCKER_OPTS=\"\(.*\)\"|DOCKER_OPTS=\"\1 --storage-driver=zfs\"|" /etc/default/docker'
|
|
|
|
|
sudo bash -c 'sed -i "s|DOCKER_OPTS=\"\(.*\)\"|DOCKER_OPTS=\"\1 --dns 8.8.8.8 --dns 8.8.4.4\"|" /etc/default/docker'
|
|
|
|
|
sudo bash -c 'sed -i "s|DOCKER_OPTS=\"\(.*\)\"|DOCKER_OPTS=\"\1 zfs.fsname=rpool/docker\"|" /etc/default/docker'
|
|
|
|
|
|
|
|
|
|
# i2p container requires ipv6
|
|
|
|
|
sudo bash -c `sed -i "s/DOCKER_OPTS=\"\(.*\)\"/DOCKER_OPTS=\"\1 --ipv6\"/" /etc/default/docker`
|
|
|
|
|
sudo bash -c 'sed -i "s|DOCKER_OPTS=\"\(.*\)\"|DOCKER_OPTS=\"\1 --ipv6\"|" /etc/default/docker'
|
|
|
|
|
|
|
|
|
|
# The above can also be passed in /etc/docker/daemon.json
|
|
|
|
|
# For other options:
|
|
|
|
|
@ -42,48 +44,48 @@ for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# General options
|
|
|
|
|
# Adding a personal registry.
|
|
|
|
|
DOCKER_OPT[0]='.["insecure-registries"] = ["mydocker-registry.net:5000"]'
|
|
|
|
|
# Allow live restore, keep containers alive when the daemon becomes unavailable.
|
|
|
|
|
# Not compatible with swarm mode.
|
|
|
|
|
DOCKER_OPT[1]='.["live-restore"] = ["true"]'
|
|
|
|
|
# Debugging on
|
|
|
|
|
DOCKER_OPT[2]='.["debug"] = ["true"]'
|
|
|
|
|
# IPv6 for i2p container
|
|
|
|
|
DOCKER_OPT[3]='["ipv6"] = ["true"]'
|
|
|
|
|
# Logging options
|
|
|
|
|
DOCKER_OPT[4]='.["log-driver"] = ["syslog"]'
|
|
|
|
|
#DOCKER_OPT[4]='.["log-opts"] = ["syslog-address","udp://1.2.3.4:1111"]'
|
|
|
|
|
|
|
|
|
|
for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
done
|
|
|
|
|
## Adding a personal registry.
|
|
|
|
|
#DOCKER_OPT[0]='.["insecure-registries"] = ["mydocker-registry.net:5000"]'
|
|
|
|
|
## Allow live restore, keep containers alive when the daemon becomes unavailable.
|
|
|
|
|
## Not compatible with swarm mode.
|
|
|
|
|
#DOCKER_OPT[1]='.["live-restore"] = ["true"]'
|
|
|
|
|
## Debugging on
|
|
|
|
|
#DOCKER_OPT[2]='.["debug"] = ["true"]'
|
|
|
|
|
## IPv6 for i2p container
|
|
|
|
|
#DOCKER_OPT[3]='.["ipv6"] = ["true"]'
|
|
|
|
|
## Logging options
|
|
|
|
|
#DOCKER_OPT[4]='.["log-driver"] = ["syslog"]'
|
|
|
|
|
##DOCKER_OPT[4]='.["log-opts"] = ["syslog-address","udp://1.2.3.4:1111"]'
|
|
|
|
|
#
|
|
|
|
|
#for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
# OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
# jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
# mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
#done
|
|
|
|
|
|
|
|
|
|
# Add tls - we keep the keys on the docker zfs dataset not /etc/docker/tls
|
|
|
|
|
DOCKER_OPT[0]='.["tls"] = ["true"]'
|
|
|
|
|
DOCKER_OPT[1]='.["tlscacert"] = ["/var/lib/docker/ca.pem"]'
|
|
|
|
|
DOCKER_OPT[2]='/["tlscert"] = ["/var/lib/docker/server.pem"]'
|
|
|
|
|
DOCKER_OPT[3]='.["tlskey"] = ["/var/lib/docker/serverkey.pem"]'
|
|
|
|
|
DOCKER_OPT[4]='.["tlsverify"] = ["true"]'
|
|
|
|
|
DOCKER_OPT[5]='.["hosts"] = ["tcp://192.168.59.3:2376"]'
|
|
|
|
|
#DOCKER_OPT[0]='.["tls"] = ["true"]'
|
|
|
|
|
#DOCKER_OPT[1]='.["tlscacert"] = ["/var/lib/docker/ca.pem"]'
|
|
|
|
|
#DOCKER_OPT[2]='.["tlscert"] = ["/var/lib/docker/server.pem"]'
|
|
|
|
|
#DOCKER_OPT[3]='.["tlskey"] = ["/var/lib/docker/serverkey.pem"]'
|
|
|
|
|
#DOCKER_OPT[4]='.["tlsverify"] = ["true"]'
|
|
|
|
|
#DOCKER_OPT[5]='.["hosts"] = ["tcp://192.168.59.3:2376"]'
|
|
|
|
|
|
|
|
|
|
for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
done
|
|
|
|
|
#for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
# OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
# jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
# mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
#done
|
|
|
|
|
|
|
|
|
|
# Something similar to set up a swarm
|
|
|
|
|
DOCKER_OPT[0]='.["cluster-advertise"] = "192.168.1.116:12376"'
|
|
|
|
|
DOCKER_OPT[1]='.["cluster-store"] = "etcd://192.168.1.116:12379"'
|
|
|
|
|
DOCKER_OPT[2]='.["cluster-store-opts"] = { "kv.cacertfile" : "/var/lib/docker/discovery_certs/ca.pem", "kv.certfile" : "/var/lib/docker/discovery_certs/cert.pem", "kv.keyfile" : "/var/lib/docker/discovery_certs/key.pem" }'
|
|
|
|
|
for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
done
|
|
|
|
|
## Something similar to set up a swarm
|
|
|
|
|
#DOCKER_OPT[0]='.["cluster-advertise"] = "192.168.1.116:12376"'
|
|
|
|
|
#DOCKER_OPT[1]='.["cluster-store"] = "etcd://192.168.1.116:12379"'
|
|
|
|
|
#DOCKER_OPT[2]='.["cluster-store-opts"] = { "kv.cacertfile" : "/var/lib/docker/discovery_certs/ca.pem", "kv.certfile" : "/var/lib/docker/discovery_certs/cert.pem", "kv.keyfile" : "/var/lib/docker/discovery_certs/key.pem" }'
|
|
|
|
|
#for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do
|
|
|
|
|
# OPTION="${DOCKER_OPT[$i]}"
|
|
|
|
|
# jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \
|
|
|
|
|
# mv -b /tmp/daemon.json.new /etc/docker/daemon.json
|
|
|
|
|
#done
|
|
|
|
|
|
|
|
|
|
sudo /etc/init.d/docker restart
|
|
|
|
|
#sudo dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb
|
|
|
|
|
@ -133,4 +135,4 @@ set +x
|
|
|
|
|
curl -o /usr/local/bin/docker-compose -L https://api.github.com/repos/docker/compose/releases/latest && chmod +x /usr/local/bin/docker-compose
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
sudo bash -c ./checkinstall_it.sh
|
|
|
|
|
sudo bash ./checkinstall_it.sh
|
|
|
|
|
|