はじめに
社内プロキシ環境でDockerをはじめとした開発環境を構築する際、ハマったりしないでしょうか。
そこで、3STEPでスクリプトを作成して、流すだけで最新バージョンのDockerおよびdocker-composeをインストールできるようにしました。
社内プロキシ環境下のおかげで、環境構築に時間を溶かしている方の一助になれば幸いです。
STEP1 プロキシ設定スクリプトを作成して実行する。
まず最初に社内のプロキシ情報を確認の上、下記項目を書き換えてください。
- [プロキシサーバのアドレス]
- [プロキシサーバのポート]
#!/bin/bash
# Proxy Info
PROXY="http://[プロキシサーバのアドレス]:[ポートのポート]"
# Insert Setting to .bashrc
echo "
export HTTP_PROXY=$PROXY
export HTTPS_PROXY=$PROXY
export FTP_PROXY=$PROXY
export http_proxy=$PROXY
export https_proxy=$PROXY
export ftp_proxy=$PROXY
export no_proxy=\"127.0.0.1,localhost\"
export NO_PROXY=\"127.0.0.1,localhost\"
" >> ~/.bashrc
source ~/.bashrc
# Add apt setting
echo "
Acquire::http::proxy \"${http_proxy}\";
Acquire::https::proxy \"${http_proxy}\";
" > /etc/apt/apt.conf
上記のファイルを作成後、下記のようにスクリプトを実行してください。
sudo sh settingProxy.sh
.bashrcファイルへは追記書き込みしていますので、再実行した場合は設定情報が追記されていきます。
再実行する場合は、.bashrcファイルを開いて前の設定情報を削除してください。
STEP2 設定やパッケージインストールするスクリプトを作成して実行する。
次に設定およびパッケージインストールするスクリプトを作成します。
ポイントとしては下記です。
- SSHできるようにする
- エディタを使えるようにする
- タイムサーバとの時刻同期
- Windowsからリモートデスクトップできるようにする
社内NTPサーバなどと同期しておかないと、時刻がズレてくるので対応しておきます。
[NTPサーバのアドレス]を書き換えてください
#!/bin/bash
# set NTP server
sudo sed -i 's/#NTP=/NTP=[NTPサーバのアドレス]/' /etc/systemd/timesyncd.conf
# Update the apt package index
sudo apt-get update -y
sudo apt -y upgrade -y
# install OpenSSH
sudo apt -y install openssh-server
# install vim
sudo apt-get install vim-nox -y
# install xrdp
sudo apt -y install xrdp
# restart sshd
sudo service sshd restart
# restart timesyncd
sudo systemctl restart systemd-timesyncd.service
上記のファイルを作成後、下記のようにスクリプトを実行してください。
sudo sh installPackages.sh
STEP3 DockerおよびDocker-composeをインストール&設定するスクリプトを作って実行する。
最後にDockerおよびdocker-composeをインストール&設定するスクリプトを作って実行します。
ポイントとしては下記です。
- http-proxy.confにプロキシを設定する
- docker-composeのバージョンは最新版を取得する
#!/bin/bash
# Update the apt package index
sudo apt-get update -y
# install packages to allow apt to use a repository over HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y
# Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Use the following command to set up the stable repository.
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# INSTALL DOCKER ENGINE
sudo apt-get update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
# Create Dir
mkdir -p /etc/systemd/system/docker.service.d
# Create Proxy Setting File (overwrite)
echo "
[Service]
Environment=\"HTTP_PROXY=${http_proxy}\"
Environment=\"HTTPS_PROXY=${http_proxy}\"
Environment=\"NO_PROXY=localhost\"
" > /etc/systemd/system/docker.service.d/http-proxy.conf
# Apply Setting
sudo systemctl daemon-reload
sudo systemctl restart docker
# Install "docker-compose"
version=`curl -s https://api.github.com/repos/docker/compose/releases/latest | \
grep tag_name | \
sed -e 's/[^0-9\.]//g'`
sudo curl -L "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose \
-x ${http_proxy}
sudo chmod +x /usr/local/bin/docker-compose
# check docker version
docker version
# check docker-compose version
docker-compose version
上記のファイルを作成後、下記のようにスクリプトを実行してください。
sudo sh installDocker.sh
実行後、Dockerおよびdocker-composeのバージョンが表示されれば完了です。
おわりに
Windowsのメモ帳でスクリプトを作成した場合、改行コードがCR+LFとなってエラーします。
スクリプトの改行コードはLFでお願いします。
Ubuntu 20.04 LTS 日本語 Remixにて正常実行したことを確認しています。