본문 바로가기
CLASS/Server

docker-2

by hingu 2024. 8. 8.

[aws - ec2] - pass(도메인)

docker

 

teamproject pension 

mini 쇼핑몰 - spring

temproject1 - spring

temproject2 - springboot


 

[ project1 ]  - container

CentOs 7 => springboot(JDK 17~), mysql, ftp, nginx, react ,postgresql ... 

 

👀 Docker os 및 프로젝트 관련 데몬 전체 설치 형태 

- docker 안에 또 운영체제등... 이것저것 깔기

( docker 다 삭제하고 다시 start )

 

docker pull centos:7 

: centos 버전 7 다운 (운영 체제만 다운받음 => docker images로 확인)

: 버전 작성 안할시 latest 가 다운됨 주의

 

docker run --privileged --name 컨테이너이름 -d centos:7  /sbin/init

: --privileged => 네트워크 활성화

: docker ps로 확인시 떠야함

: 지정한 컨테이너 이름 : project1

 

docker exec -it project1 /bin/bash

: Docker 안의 운영체제로 접근 (root)

: project1에 접근함

 

cat /etc/redhat-release

: 버전 확인용

 

cd /etc/yum.repos.d/

rm -drf CentOS-* : 기존 repo 한방에 다지우고 (ls -al 로 사라지는거 확인)

 

vi Daum.Repo  : 신규파일 생성하는거임 ( cd /etc/yum.repos.d/ 여기에)

[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.daum.net/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.daum.net/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.daum.net/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://ftp.daum.net/centos/7/centosplus/$basearch/
gpgcheck=1
gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7

vi 편집기로 해당 내용 작성 => !wq

요건 걍 google에 daum.repo 라고 쳐도 나옴

업데이트 하려고 

 

yum update

: OS 업데이트

: yum package를 설치

 

( wget을 사용하구싶은디 안됨 )

rm -drf CentOS-*

이게 또 생겨있어서 한번 더 싹 삭제 후  -> 딱 필요한건만 다운 받을거임

yum install wget  - 다운로드 받기 위한 데몬

yum install net-tools    -  네트워크 화경 데몬 ( ifconfig 사용가능해짐 )

yum install bind-utils  - 외부로 네트워크 출력 여부 확인하는 데몬 ( nslookup 사용 가능해짐 )

yum install ntsysv  - 서버 가동시 자동으로 설정하는 데몬

yum install openssh-* 

- 외부접속 가능케하는 데몬 

최초서버 root 패스워드가 없음 passwd => root 패스워드 입력 

(but 포트포워딩을 해줘야 root에서 접속이 가능함)

systemctl start sshd  : 가동

 

yum install vsftpd 

systemctl start vsftpd : 가동

 

netstat -nap | grep LISTEN   : 열려있는 포트 확인

 

 

👀  java 설치

 

yum list

-> 여기에 나오는 버전만 받을수 있음 

17번대 받고싶으면 oracle에서 직접 다운받아야함 (google에 java 17 다운로드 쳐두댐)

- https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

=> 표의 Linux x64 RPM Package  (윗쪽에 있음)

https://download.oracle.com/java/17/archive/jdk-17.0.11_linux-x64_bin.rpm   => 링크 복사 (클릭해서 다운받는거 아님!)

 

cd /home/

mkdir down - ( mkdir : make directory의 약자) down 이라는 디렉토리를 생성함

cd down/

 

wget https://download.oracle.com/java/17/archive/jdk-17.0.11_linux-x64_bin.rpm 

: java 17 설치 

down 폴더 안에 다운받아짐

 

rpm -ivh jdk-17.0.11_linux-x64_bin.rpm  : 설치

java -version : 설치된 자바 버전 확인

 

 

====> docker hub에 올려볼꺼임!

 

Create repository  - public 으로 만들면됨

일반사용자 root에서 해야함 - 걍 master

docker stop project1

 

localhost 서버에서  docker login 

아이디,패스워드 입력

=> dockerhub에서 사용하는 정보 입력시 success가 활성화됨

 

cd /home/master/.docker 가서

/home/일반사용자아이디/.docker/config.json  (/home/master/.docker/config.json)

=> 로그인 정보가 보관되어짐 확인

 

=> Container를 image화 시켜서 dockerhub 등록할 수 있음

docker commit -a "mycentos" -m ""  project1 docker_centos7:latest

container를 이미지로 변경  (  docker run --name project1 mycentos 요거와 반대임 )

[  docker commit -a "이미지 작성자이름" -m "메모내용"  컨테이너이름 docker_centos7:latest  ] 요거임

-docker_centos7 : 요건 내가 만든 repository 이름

(-m 뒤의 ""이건 걍 메모임 비워도됨)

 

docker start project1

 

docker exec -it project1 /bin/bash

 

docker images로 확인시 확인 가능

 

 

올리기 (tag를 먼저 만들어줘야 함) -> 약 1.25기가정도댐.. 좀 크당..

** 일반사용자(ex-master : config.json을 가지고있음) )일 경우

    직접 이미지를 dockerhub repositories 명과 동일하게 생성시켜줘야함

 

 

dockerhub홈페이지의 collaborator 에 일반사용자아이디(master) add 해주고

 

=>

docker tag  내가create한repository이름:버전 내docker.hub아이디/내가create한repository이름 :버전

(예시 - docker tag server_centos7:latest ididid/server_contos7:latest)

-요건 docker.hub에서 repository 만들면 나옴 - 위 이미지 캡쳐

tag 만들어주면 없다가 생김ㅎ

 

=>

docker push wbel0634/docker_centos7 => 업로드 시작됨

docker images 로 이미지 확인 

 

 

지우고싶다면?

docker rmi ididididid/docker_centos7  ,  docker rmi docker_centos7

=> 둘다 해주면됨

 

 

다른 사용자가 내가 올린거 그대루 가져다 쓰는거 테스트

 

테스트를 위해 쌩 root에서 새로운 사용자 만들어봄useradd hongpasswd hong

 

=>

latest 추가됨!!

hong에서 저 빨간박스 복사한거 넣으면 다운받아짐!!

잘받아짐!! 다 다운되면 hong이 해당 image를 컨테이너화시키면 됨!

 

docker run --privileged --name hong이만들프로젝트명 -d 다운받은repository명 /sbin/init

ex) docker run --privileged --name project2 -d ididid/docker_centos7 /sbin/init

=> hong이 컨테이너화시킴

 

hong - docker exec -it project2 /bin/bash 해서 bash로 접근 후 java 삭제

hong에서 삭제

 

master엔 있음

 

다운만 받고 각자 따로 갖고 노는거임~

 


👀  mariadb 설치 

master에할거임

 

yum list mariadb*   

=> 이걸로 받았는데 버전이 너무 구림

     mariadb 공홈 들어가서 11.1.5 버전으로 받을거임

https://mariadb.com/kb/en/rpm/    mariadb rpm 공홈임

여기서 .. 메모포기

 

 

systemctl start mysqld

\status

 

 

 

'CLASS > Server' 카테고리의 다른 글

⭐ server - cloud 정리  (0) 2024.08.09
docker-3  (0) 2024.08.09
docker-1  (0) 2024.08.05
CentOS-3 / tomcat 설치  (0) 2024.08.02
CentOS-2 / mysql 연결  (0) 2024.08.01