EC2のUbuntuにdockerをインストールすると、そのままだと、
というエラーが出てdockerコマンドが実行できない。
これを解消するためにはログインユーザーをdockerグループに追加するかsudoで実行する必要がある。
- dockerのインストール
以下のサイトのaptでインストール手順で実施。
https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d -
インストール後のdockerコマンドの確認
docker version
はエラーが出るが動きはする。docker images
は動かない。
123456789101112$ docker versionClient:Version: 18.09.1API version: 1.39Go version: go1.10.6Git commit: 4c52b90Built: Wed Jan 9 19:35:31 2019OS/Arch: linux/amd64Experimental: falseGot permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: dial unix /var/run/docker.sock: connect: permission denied$ docker imagesGot permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json: dial unix /var/run/docker.sock: connect: permission denied - dockerグループにログインユーザを追加
dockerグループ自体はdockerインストール時に追加されているので、usermodなどでグループに追加する。
その後dockerサービス再起動&再ログインで設定が反映されdockerコマンドが実行できるようになる。
12$ usermod -aG docker ubuntu$ sudo /bin/systemctl restart docker.service
ちなみに-aを忘れるとグループに追加されるのではなく、所属するセカンダリグループが置き換えられてしまうらしい。
※確かに-aをつけないとうまくいかなかったがセカンダリグループの上書きはされなかった。。。とりあえず今はスルー。 - 再ログインしdockerコマンドの実行確認
再ログインで反映されるのでdockerコマンドが利用できるようになる
12$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE