<script src="https://gist.github.com/tn841/5d670fdb3174408a33583f7228cdac08.js"></script>
3강부터 본격적으로 docker를 다룬다.
바로 본론 부터 들어간다.
+20200323
: centos 환경에서 mysql container 띄울시 오류가난다. ubuntu 환경에서 docker를 설치하는 방법은 아래 링크를 참조.
https://docs.docker.com/install/linux/docker-ce/ubuntu/#prerequisites
docker를 정상적으로 구동하기위해 사전 작업이 필요한것 같다.
yum 에서는 어떻게 해야하는지..?
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
repository가 없다? 라는 오류가 뜬다. 구글링 하자.
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf repolist -v
sudo dnf install docker-ce-3:18.09.1-3.el7 # 최신버전에 문제가 있어서 특정 예전 버전으로 설치해야한다는 거 같다.
직접 service에 등록 하자.
sudo systemctl status docekr
disabled 되어 있다.
sudo systemctl enable docker
sudo systemctl start docker
docker pull hello-world
permission denied오류 -> sudo를 붙이니 잘된다. ubuntu는 그냥 되던데
구글링을 통해 아래와 같이 해결했다.
docker가 다른 유저 및 유저 그룹에 속해 있는 파일들에 접근할 수 없어서 발생하는 문제로, 기본적으로 다음과 같이 해결이 가능하다.
(1) docker 그룹 생성
$sudo groupadd docker
(2) 다른 유저를 docker 그룹에 넣어준다.
$sudo usermod -aG docker <유저명>
(3) 재접하면 된다는데 안될경우 아래 명령어 실행
$ newgrp docker
출처: https://marshallslee.tistory.com/entry/CentOS에서-docker-실행-시-permission-denied가-발생하는-경우 [Astronaut's Note]
컨테이너에서 위에서 방금 만든 Docker Image가 실행된다.
ubunt에서 apache 서버가 실행되고 EC2의 80포트와 컨테이너의 80포트가 연결된다.
실제로 접속하기 위해서는 AWS inbound 규칙에 80포트를 열어줘야 한다.