kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

Docker+vagrant(centos)でwindowsに構築

WindowsのPCをメインに開発しています。Windowsの場合、Professionalでないと通常のDockerのインストールができません。

f:id:kazu22002:20180907142408p:plain

vagrantCentOSを仮想環境で立ち上げでDockerを使ってみます。

vagrantCentOSを立ち上げる部分は、省きます。

Centos7でDockerインストール

docs.docker.com

古いバージョン削除

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

必要なpackageをインストール

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

安定板のリポジトリ設定

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

最新版のインストール

sudo yum install docker-ce

バージョン指定してインストールする場合

yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION STRING>

起動、自動起動

sudo systemctl start docker
sudo systemctl enable docker

Centos7でDockerアンインストール

アンインストール

sudo yum remove docker-ce

イメージやコンテナ削除

sudo rm -rf /var/lib/docker

docker-compose インストール

docs.docker.com

github.com

sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

確認

$ docker-compose --version
docker-compose version 1.22.0, build 1719ceb

docker-compose アンインストール

rm -f /usr/local/bin/docker-compose

Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg エラー

[root@localhost docker-staging]# docker-compose --version
[11685] Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

エラーがでて起動しないが、再インストールすることで動作した。インストール時がよくなかった模様

アンインストールはファイルを削除するだけです。

rm -f /usr/local/bin/docker-compose

ユーザーで起動失敗した場合

Linuxの場合はユーザーの権限等で起動できない場合がある。確かにこのあたりはやって見て気づいたけど、どういうユーザー権限で動作しているんだろう。

[docker]$ docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

エラーの内容が出た場合は、dockerグループにユーザーを所属させることで問題は解決した。

参考にさせてもらったサイト。ほぼそのままできました。

qiita.com

ユーザーをグループに所属させた後に、dockerを再起動させなかったら同じエラーがで続けたので、dockerを再起動させたら問題なく動作した。

sudo systemctl restart docker

これでCentOSでも動作できそう。またAmazonLinux2でも動作させてみたが問題なさそう。便利便利!!