Установка и базовая конфигурация окружения в Docker

Установка и базовая конфигурация окружения в Docker
Самое время настраивать Oracle always free впску под наши нужды. Особенность будет в том, что сервисы мы будем поднимать с помощью Docker. Поставим Portainer, Nginx Proxy Manager, Просто Nginx хост, Хост под бд Mysql и подправим чутка конфигов. Debian по дефолту там не было, поэтому ставить будем на Ubuntu 20.04


Установка необходимых пакетов

Тут всё просто, мы ставим стандартный набор софта, бывает в зависимости от дистрибутива какие то пакеты не установлены сразу - установим все нужные нам.

sudo useradd -u 1337 -m username
sudo apt update && sudo apt upgrade -y
sudo apt install \
    mc tree ncdu psmisc tmux sudo \
    make build-essential \
    htop speedtest-cli \
    nano vim git \
    wget curl \
    net-tools iputils-ping \
    tar unzip dos2unix \
    iftop tcpdump nload iptraf nethogs bmon bwm-ng \
    dnsutils iputils-tracepath ranger -y



Подключаем swap

На серверах с малым количеством оперативной памяти я всегда ставлю свап - на всякий случай. Это не обязательный шаг - если не хотите то пропускайте этот шаг.


sudo swapon -s
sudo fallocate -l 2048M /root/swapfile
sudo ls -lh /root/swapfile
sudo chmod 600 /root/swapfile
sudo mkswap /root/swapfile
sudo swapon /root/swapfile
sudo swapon -s

Так же делаем наш swap постоянным


sudo nano /etc/fstab
добавим строчку:
/root/swapfile   none    swap    sw    0   0

Рекомендуется перезагрузить сервер и посмотреть всё ли хорошо, создаётся свап и т.д.




bash completeon

Также необязательный шаг. Тут кто то возможно поставит себе zsh или что то другое, я же следую правилу до тех пор пока по дефолту везде баш - используем везде баш.


sudo apt install bash-completion

Добавляем это в самый конец ~/.bashrc

## source it from ~/.bashrc or ~/.bash_profile ##
echo "source /etc/profile.d/bash_completion.sh" >> ~/.bashrc
## Another example Check and load it from ~/.bashrc or ~/.bash_profile ##
grep -wq '^source /etc/profile.d/bash_completion.sh' ~/.bashrc || echo 'source /etc/profile.d/bash_completion.sh'>>~/.bashrc

включим фичу для текущей сессии

source /etc/profile.d/bash_completion.sh



Установка Docker


sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg

Скачаем ключ
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 и добавим его   
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ставим docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Качаем docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Устанавливаем необходимые права
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose



Подготовка

Создадим папку где будем хранить контейнеры и бекапы. И выставляем правильные права на них.


sudo mkdir -p /app
sudo mkdir -p /backup/app
sudo chown -R ubuntu:ubuntu /app
sudo chown -R ubuntu:ubuntu /backup
  



Portainer


sudo docker volume create portainer_data

sudo docker run -d -p 44149:8000 \ 
 -p 44150:9000 \
 --name=portainer \
 --restart=always \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v portainer_data:/data portainer/portainer-ce
  

Переходим по адресу: http://zzz.xxx.ccc.vvv:44150




Nginx Proxy Manager


  sudo mkdir -p /app/NPM/{data,letsencrypt}
  sudo mkdir -p /app/NPM/data/mysql
  sudo chown -R ubuntu:ubuntu /app/NPM
  sudo nano /app/NPM/docker-compose.yaml



Nginx под HTML или картинки


sudo mkdir -p /app/img.domain.com/data
sudo docker run --name some-nginx -d -p 39080:80 -v /app/img.domain.com/data:/usr/share/nginx/html:ro -d --restart=unless-stopped nginx
    



Socks5 Прокси


sudo docker run -d --name socks5_4444 -p 28131:1080 -e PROXY_USER=USERNAME -e PROXY_PASSWORD=STRONGPASSWORD --restart=unless-stopped olebedev/socks5
    



Post a Comment

Более новые Старые