따라서 AWS를 사용하여 서비스 인스턴스를 자동으로 프로비저닝하는 것을 고려하고 있습니다.
AWS에서는 인스턴스를 생성할 때 셸 스크립트를 실행할 수 있습니다.
하지만! 작은 문제가 발생했습니다. 서버에 대한 초기 SSH 중에 docker 명령을 사용하고 싶습니다. 저는 실제 개발자가 아니므로 이렇다면 죄송합니다.리눅스 101물건(또는 중복된 질문).
이것이 내가 지금까지 시도한 것입니다:
따라서 방화벽과 필요한 기타 부분을 설정하기 위한 초기 스크립트가 있습니다.
#!/bin/sh
$ sudo ufw allow OpenSSH ApacheSecure
$ echo "y" | sudo ufw enable
이 모든 것이 잘 작동합니다. 그런 다음 내 스크립트는 설치를 계속합니다 docker-ce
.
$ sudo apt update
$ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
$ sudo apt update
$ apt-cache policy docker-ce
$ sudo apt install -y docker-ce
여기서 멈추고 서버에 ssh를 실행하면 user docker
명령이 일반적인 .OK를 제공 Command 'docker' not found
하므로 현재 사용자 그룹에 docker를 추가해야 합니다.
$ sudo usermod -aG docker $USER
$ newgrp docker
서버에 로그인한 후 이 두 명령을 수동으로 실행하면 모든 것이 정상입니다. 그러나 나의 무한한 게으름 때문에 서버 인스턴스를 설정할 때마다 이 작업을 수행하고 싶지 않습니다.
시작할 준비가 된 $USER에 docker 명령을 어떻게 추가합니까? 다양한 방법을 시도했지만 성공하지 못했습니다. $ sudo -i
루트 권한으로 실행 해야 합니까 ?
위의 두 가지를 모두 시도했습니다.$userusername
인스턴스가 생성될 때 지정됩니다 . 작동하지 않습니다.
DevOps 지원에 대한 조언을 주시면 감사하겠습니다!