반응형

 

잘 알아야 실무에서 더 효율적으로 일하고 빠르게 끝낼 수 있을 것 같다.

모르면 정말 손도 못대겠는게 IT인듯 싶다

그치만 뭘 공부해야할지도 정말 막연하다

서비스 하나를 만들어서 배포하고 운영까지 해본다면

알아야할게 참 많을 것 같고 플로우를 알 수 있을 것 같다.

따라서 서비스를 만들어서 운영을 해보고 싶다는 막연한 목표가 있다.

 

예전부터 계속 생각을 해왔는데 문제가 있었다

웹을 만들던 뭘 하던간에 나중에 운영할땐 리눅스에 할건데 서버가 없었다

가상머신에서 작업하자기엔 좀 느릴 것 같았구... 그냥 어떻게 해야할지 막막했다

그렇게 고민을 하다보면 업무가 바빠지고 현생 살다가 항상 흐지부지되곤 했다

 

뭐라도 하자 싶어서 내가 처음 IT를 접하게 된 생활코딩 홈페이지에 다시 들어갔다

 

회사에서 도커를 많이 사용하니깐..

도커 입문 강의를 보는데 갑자기 문득 도커로 리눅스를 사용할 수 있지 않을까 라는 생각이 들었다

 

리눅스 이미지를 다운받아서

컨테이너로 만들고, 컨테이너 안에서 개발 다 하고 작업 다 끝낸 후에

나중에 배포할 때부터만 클라우드 서버 사서 하면 되는거 아닌가?

라는 생각이 들었고!

왜 진작에 이렇게 안했지..?😂

 


 

도커 데스크탑 설치

도커 공홈에서 설치해줬다

https://www.docker.com/ 

 

 

 

도커 설치 확인

cmd 열어서 도커 명령어 쳐서 에러가 안나는지 확인

docker ps
docker images

 

 

버전 확인

docker --version
docker-compose --version

 

 

 

도커허브에서 이미지 찾기

https://hub.docker.com/_/rockylinux/tags

 

나는 rockylinux8.9 버전 이미지를 다운받았다.

docker pull rockylinux:8

# 이미지를 잘 다운받아졌는지 확인
docker images

 

 

도커 컴포즈 파일 생성

 

version: "3.9"      # docker compose 버전
services:
  linux: # 이름   (container_name 지정 안해주면 docker-linux-1 이런식으로 컨테이너 이름이 지정됨)
    image: rockylinux:8  # 사용할 이미지의 repository:tag
    volumes:   # 볼륨 설정 - 호스트 경로와 컨테이너 경로를 연결시켜서 해당 경로의 파일이 컨테이너와 호스트상에서 일치됨
      - C:\Users\hw\Documents\study\docker\DATA:/src/DATA
    command: tail -f /dev/null  # 실행을 안하고 있으면 바로 종료되서 임의로 해놓음
    container_name: linux  # 도커 컨테이너 이름

 

아래 파일은 주석 안달아놓은 버전이다

 

rockylinux8-docker-compose.yml
0.00MB

 

 

 

 

 

도커 컴포즈로 안하고 docker run으로 해도 되지만 나중에 어떻게 실행했는지 까먹을까봐 도커 컴포즈로 관리하고자 함

추가로 설정을 많이 변경해줘야 하기는 한데 일단 샘플..

 

 

 

여기서는 linux 라고 컨테이너 이름을 지정해줬다

 

 

도커 컴포즈 실행

docker-compose -f rockylinux8-docker-compose.yml up -d

 

 

 

도커 컨테이너안에서 명령어 실행 

docker exec -it linux bash

 

 

컨테이너 안에서 OS 확인

 cat /etc/*release*

 

 

 

기타 도커 명령어

 

 

컨테이너 실행 중지

docker stop linux

 

실행중인 컨테이너 확인

docker ps

 

컨테이너 전체 확인

# 실행중이지 않은 컨테이너도 나옴
docker ps -a

 

 

컨테이너 실행

docker start linux

 

 

컨테이너 로그

docker logs linux

# -f: follow, 실시간으로 계속 확인  (ctrl+c 입력시 빠져나옴)
docker logs -f linux

 

 

컨테이너 삭제

docker stop 컨테이너이름
docker rm 컨테이너이름

 

 

 

컨테이너이름 부분에 이름을 넣어도 되고, 컨테이너ID를 적어도 됨

docker ps 하면 컨테이너 이름과 ID 확인 가능함.

컨테이너 ID의 경우 앞의 3글자만 적으면 동작함

 

 

 


 

이제 docker exec 명령어로 컨테이너 내부에서 리눅스 환경에서 작업할 수 있게 되었다!

하지만 root 사용자이기 때문에 새 사용자를 만들고 세팅해줄게 남았다

이건 나중에 따로 글을 올려보겠음

 

 

반응형
복사했습니다!