Last active
January 22, 2022 17:13
-
-
Save zsiti/3872c518d894af1c98292472513b1442 to your computer and use it in GitHub Desktop.
docker host genesis script for centos7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# you can run a gist directly by changing a bit on the gist URL: | |
# original: https://gist.github.com/zsiti/3872c518d894af1c98292472513b1442 | |
# direct: https://gist.githubusercontent.com/zsiti/3872c518d894af1c98292472513b1442/raw | |
# curl the direct githubusercontent link, and pipe it to bash | |
# curl -s https://gist.githubusercontent.com/zsiti/3872c518d894af1c98292472513b1442/raw | bash | |
# This first section will ask for sudo password, to create a NOPASSWD sudoers policy for my user | |
# All subsequent commands beginning with sudo will be performed without the need for a sudo password | |
echo $USER 'ALL=(ALL) NOPASSWD:ALL' | sudo tee -a /etc/sudoers.d/$USER | |
# sudo chmod 0440 /etc/sudoers.d/$USER; actually the default 644 should be fine since the owner is root:root | |
# allow in my SSH keys | |
mkdir -p $HOME/.ssh | |
#touch /$HOME/.ssh/authorized_keys | |
#chown $USER:$USER /home/$USER/.ssh/authorized_keys | |
curl -o $HOME/.ssh/authorized_keys https://github.com/zsiti.keys | |
# set locale | |
sudo localectl set-locale LANG=en_US.utf8 | |
sudo localectl set-locale LC_CTYPE=en_US.utf8 | |
sudo localectl set-locale LC_NUMERIC=en_US.utf8 | |
sudo localectl set-locale LC_TIME=en_US.utf8 | |
sudo localectl set-locale LC_COLLATE=en_US.utf8 | |
sudo localectl set-locale LC_MONETARY=en_US.utf8 | |
sudo localectl set-locale LC_MESSAGES=en_US.utf8 | |
sudo localectl set-locale LC_PAPER=en_US.utf8 | |
sudo localectl set-locale LC_NAME=en_US.utf8 | |
sudo localectl set-locale LC_ADDRESS=en_US.utf8 | |
sudo localectl set-locale LC_TELEPHONE=en_US.utf8 | |
sudo localectl set-locale LC_MEASUREMENT=en_US.utf8 | |
sudo localectl set-locale LC_IDENTIFICATION=en_US.utf8 | |
sudo localectl set-locale LC_ALL=en_US.utf8 | |
# update/upgrade centos system | |
sudo yum update -y | |
sudo yum upgrade -y | |
# install necessary packages | |
sudo yum install git vim -y | |
# Remove any old docker versions | |
sudo yum remove -y docker docker-common docker-selinux docker-engine | |
# Remove any old versions | |
sudo yum remove -y docker docker-common docker-selinux docker-engine | |
# Install required packages | |
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 | |
# Configure docker repository | |
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo | |
# Install Docker-ce | |
sudo yum install docker-ce -y | |
# Start Docker | |
sudo systemctl start docker | |
sudo systemctl enable docker | |
# Post Installation Steps | |
# Create Docker group | |
sudo groupadd docker | |
# Install docker-compose | |
# latest version: https://github.com/docker/compose/releases | |
# latest commands: https://docs.docker.com/compose/install/ | |
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
# Permssion +x execute binary | |
sudo chmod +x /usr/local/bin/docker-compose | |
# Create symlink for docker-compose | |
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose | |
# Check Versions | |
sudo docker --version | |
sudo docker-compose --version | |
# fix ownership of docker socket | |
# in the next command we make sure $USER is part of docker group for access to docker.sock | |
sudo chown root:docker /var/run/docker.sock | |
# Add user to the docker group | |
sudo usermod -aG docker $USER | |
# docker ps output config | |
#echo '{"psFormat": "table {{.ID}}\\t{{.Image}}\\t{{.Status}}\\t{{.Names}}"}' | sudo tee -a /etc/sudoers.d/$USER | |
mkdir -p $HOME/.docker/ | |
echo '{ "psFormat": "table {{.Names}}\\t{{.Status}}\\t{{.Image}}" }' > $HOME/.docker/config.json | |
git clone https://zsiti@bitbucket.org/zsiti/docker.git $HOME/docker/ | |
sudo ln -fs $HOME/docker/zsiti-scripts-docker/zsiti-docker-bash-profile.sh /etc/profile.d/zsiti-docker-bash-profile.sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment