Command 'curl' not found, but can be installed with:
apt install curl
현재 curl 명령어를 사용할 수 없다고 나오기에 curl 을 설치 해 주도록 한다.
- curl 설치 명령어 : apt install curl Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-5.4.0-37 linux-headers-5.4.0-37-generic linux-image-5.4.0-37-generic linux-modules-5.4.0-37-generic linux-modules-extra-5.4.0-37-generic Use 'apt autoremove' to remove them. The following additional packages will be installed: libcurl4 The following packages will be REMOVED: libcurl3 The following NEW packages will be installed: curl libcurl4 0 upgraded, 2 newly installed, 1 to remove and 283 not upgraded. Need to get 396 kB of archives. After this operation, 479 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.15 [235 kB] Get:2 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.15 [161 kB] Fetched 396 kB in 3s (156 kB/s) (Reading database ... 111939 files and directories currently installed.) Removing libcurl3:amd64 (7.58.0-2ubuntu2) ... Selecting previously unselected package libcurl4:amd64. (Reading database ... 111932 files and directories currently installed.) Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.15_amd64.deb ... Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.15) ... Selecting previously unselected package curl. Preparing to unpack .../curl_7.68.0-1ubuntu2.15_amd64.deb ... Unpacking curl (7.68.0-1ubuntu2.15) ... Setting up libcurl4:amd64 (7.68.0-1ubuntu2.15) ... Setting up curl (7.68.0-1ubuntu2.15) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9) ...
WARNING: Access to the remote API on a privileged Docker daemon is equivalent to root access on the host. Refer to the 'Docker daemon attack surface' documentation for details: https://docs.docker.com/go/attack-surface/
설정 명령어 : sudo systemctl enable docker && service docker start
도커 서비스 상태 확인 : service docker status
active 까지 나오는걸 확인 했으면 docker 서비스 구축이 완료 되었습니다.
portainer 구축하기
portainer는 docker의 이미지,컨테이너,네트워크등을 쉽게 관리할 수 있게 도와주는 GUI Web 서비스 입니다.
docker의 이미지라는 개념이 생소할 수도있는데 윈도우 설치에 필요한 iso라고 보시면 될거같습니다. iso로 윈도우를 설치하듯이 이미지로 docker의 컨테이너를 생성하게됩니다. 이 이미지(iso 같은)는 hub.docker.com에서 검색해보면 엄청나게 방대한양의 데이터베이스가 있습니다.
이번에 설치할 portainer도 찾아본다면 아래처럼 나오게 됩니다. 이외에 cent os, nginx, mariadb 등등 docker의 이미지는 엄청많으니 궁금하면 들어가서 찾아보시면 됩니다.
항상 지원하는 아키텍쳐를 확인하는게 좋습니다.
portainer 컨테이너 설치에 앞서 컨테이너와 host(vm)간에 볼륨매칭을 위한 디렉터리 생성부터 진행 합니다.
- 생성 명령어 : mkdir -p /data/portainer
- portainer실행 명령어 : docker run --name portainer -p 9000:9000 -d --restart always -v /data/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
–-name 으로 컨테이너 이름 생성, -p 호스트 포트 9000 내부포트 9000번 , -d 데몬으로 백그라운드, –restart always 재부팅시 자동시작, -v /data~~ 호스트와 컨테이너간 볼륨매칭, docker.sock도 마찬가지로 공유, portainer/portainer 이미지 사용
실행이 완료 되면 url로 접속을 해 봅니다.
ip:9000 으로 접속 해 봅니다.
처음 관리자 아이디, 패스워드를 설정 합니다.
생성 완료 후 페이지
"Get Started" 클릭을 하게 되면 아래와 같이 local 도커가 연결된 것을 확인 할 수 있습니다.
서비스를 올려 보도록 하겠습니다.
제 목적은 docker 를 통해 spring boot 서버와 react 서버를 올리는 것이기에 2개의 서비스를 필요로 합니다.
왼쪽 메뉴중 Containers 를 클릭시 현재 실행되고 있는 컨테이너를 확인 할 수 있습니다.
오르쪽 상단위 Add container를 통해 신규 컨테이너를 GUI로 만들 수 있습니다.
또는 이미지 추가로 도커의 허브에 있는 공개되어 있는 이미지 들을 추가 해서 사용 할 수 있습니다.