일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ERR unknown command 'JSON.GET'
- nodemailer
- ERR unknown command 'JSON.SET'
- RedisJSON
- redis cli
- Avast 구독취소
- 패스트캠퍼스후기
- 캐시백
- Redis
- 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online
- 환급챌린지
- 직장인인강
- 패스트캠퍼스
- AWS S3 계정이동
- aws
- AWS S3 migration
- 잔디이전
- Avast Security
- putty Inactive
- redis-cli
- Ngrinder Docker
- 직장인자기계발
- elastic cache
- gitlab 잔디옮기기
- AWS S3 버킷 삭제
- Window redis-cli
- 캐시백챌린지
- aws s3
- vscode
- 패캠챌린지
- Today
- Total
Developing
패스트캠퍼스 캐시백 챌린지 48일차 본문
엔트리포인트,커맨드 및 환경변수와 docker exec에 관련된 클립들을 수강하는식으로 챌린지를 진행하였다.
기존에 docker exec 명령어로 컨테이너에 접속하는 정도는 알고있었는데 env 내역까지 확인할 수 있다는 것은 처음 알게되었다.docker inspect도 어떤식으로 사용해서 보는지 알 수 있었다. docker hub에 공식 이미지 문서를 보면 환경변수설정에 따라 다르게 동작한다고 하는데 참고하는데에 많은 도움이 될 것 같다. 다음 포스팅으로는 도커 네트워크와 컨테이너 포트와 관련된 내용을 포스팅할 예정이다.
엔트리포인트
- 도커 컨테이너가 실행할 때 고정적으로 실행되는 스크립트 혹은 명령어
- 생략할 수 있으며, 생략될 경우 커맨드에 지정된 명령어로 수행
커맨드(Command)
- 도커 컨테이너가 실행할 때 수행할 명령어 혹은 엔트리포인트에 지정된 명령어에 대한 인자 값
⇒ [EntryPoint] [Command]
⇒ 실제 수행되는 컨테이너 명령어
Dockerfile의 엔트리포인트와 커맨드
도커이미지를 빌드할때 Dockerfile을 사용하는데, Docker file 구성코드의 예시로 다음과 같이 들 수 있다...
FROM node:12-alpine
RUN apk add --no-cache python3 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node"]
ENTRYPOINT(선택적): 명령어가 수행되기 앞서서 실행되는 프로그램
CMD(필수적) : 도커이미지가 실행될때 기본적으로 실행될 명령어를 지정한다.
결국 “docker-entrypoint.sh node”가 최종적으로 실행된다고 볼 수 있다.
ubuntu 이미지를 실행할때 기본적으로 bash로 실행이된다
docker inspect 1343
명령어로 bash, Entrypoint는 null인것을 확인할 수 있다.
docker run --entrypoint sh ubuntu:focal
docker run --entrypoint echo ubuntu:focal hello world
entrypoint를 sh,echo같이 바꾸어 줄 수 있다.
sh,echo로 COMMAND가 바뀌어있는 것을 확인할 수 있다.
docker inspect 6c88
Entrypoint가 echo, CMD로 hello world가 있음을 확인할 수 있다.
도커 컨테이너 다루기: 환경변수
docker run --help
docker run할때 환경변수를 주입하는 방법은 2가지가 있다.
docker run -i -t -e MY_HOST=fastcampus.com ubuntu:focal bash
첫번째로 env list 옵션으로 환경변수를 옮기는 방법은 이러하다.
MY_HOST에 환경변수가 심어져있고, env로 확인하여도 제대로 있다는 것을 확인할 수 있다.
마찬가지로 docker inspect로 해당 내용을 확인할 수 있다.
이렇게 환경변수를 env option으로 전달해보았다.
두번째로 환경변수 파일로 전달하는 방법은 다음과 같다.
cat > sample.env
MY_HOST=helloworld.com
MY_VAR=123
MY_VAR2=456
docker run -i -t --env-file ./sample.env ubuntu:focal env
원하는대로 지정이 되었음을 확인할 수 있다.
docker exec
- 실행중인 컨테이너에 명령어를 실행한다
$ docker exec [container] [command]
# my-nginx 컨테이너에 Bash 셸로 접속하기
$ docker exec -i -t my-nginx bash
# my-nginx 컨테이너에 환경변수 확인하기
$ docker exec my-nginx env
docker exec 명령어를 통해 env 내역을 볼수도있고, 이슈발생 해결을 위해 직접 접속하여 관리할 수 있다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
* 본 포스팅은 패스트캠퍼스 환급 챌린지를 위해 작성되었습니다.
'Devops > Fastcampus 캐시백 챌린지' 카테고리의 다른 글
패스트캠퍼스 캐시백 챌린지 50일차 (0) | 2022.06.06 |
---|---|
패스트캠퍼스 캐시백 챌린지 49일차 (0) | 2022.06.05 |
패스트캠퍼스 캐시백 챌린지 47일차 (0) | 2022.06.03 |
패스트캠퍼스 캐시백 챌린지 46일차 (0) | 2022.06.02 |
패스트캠퍼스 캐시백 챌린지 45일차 (0) | 2022.06.01 |