レンタルサーバを借りて作業環境を整えたらまずやることはDockerのインストールと言う人は多いのではないでしょうか?
今日は、私が使っているDockerおよびDockerComposeのインストール方法を紹介します。
サーバの設定にはAnsibleを利用します。MacOSX + HomeBrewな環境であれば、Ansibleは以下のコマンドで簡単にインストール可能です。
$ brew install ansible
以下のPlaybookをダウンロードして~/.ansible/playbooks/install-docker.yml
に配置します。
This file contains hidden or 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
--- | |
- hosts: all | |
become: yes | |
tasks: | |
- name: Update apt packages | |
apt: | |
upgrade: no | |
update_cache: yes | |
- name: Install packages for docker | |
apt: | |
name: | |
- apt-transport-https | |
- ca-certificates | |
- curl | |
- gnupg-agent | |
- software-properties-common | |
- name: Add Docker’s official GPG key | |
command: | | |
sh -c "curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -" | |
- name: Set up the stable Docker repository | |
command: | | |
sh -c "add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"" | |
- name: Update apt packages | |
apt: | |
upgrade: no | |
update_cache: yes | |
- name: Install Docker packages | |
apt: | |
name: | |
- docker-ce | |
- docker-ce-cli | |
- containerd.io | |
- stat: path=/usr/local/bin/docker-compose | |
register: docker_compose | |
- name: Download Docker compose | |
when: not docker_compose.stat.exists | |
command: | | |
sh -c "curl -L \"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose" | |
- file: | |
path: /usr/local/bin/docker-compose | |
mode: '0755' |
以下のコマンドでDocker
, DockerCompose
がインストールされます。
ansible-playbook -i user@example.com, ~/.ansible/playbooks/install-docker.yml
user@example.com
のところはsshで接続できるアカウントに変更してください。内部でsudoを使って昇格しているのでこのユーザでsudoできる必要があります。
ところで、-i user@example.com,
の最後の,
は奇妙におもわれたかもしれませんが必須です。これは本来AnsibleのInventryを書くべきところにホストを直接書くための記法です。
複数台のサーバにセットアップしたいときには以下のようにして一気に行けます。
ansible-playbook -i user@example.com,user@host2.example.com,user@host3.example.com, ~/.ansible/playbooks/install-docker.yml