image
-
[Docker] Dockerfile user 권한 변경 설정Docker 2023. 1. 2. 22:15
Dockerfile에서 base 이미지를 사용하고 필요한 패키치를 설치하려고 할 때, 이미지를 빌드 시 다음과 같은 permission 에러가 발생한다. => ERROR [2/4] RUN apt-get update 0.3s ------ > [2/4] RUN apt-get update: #5 0.263 Reading package lists... #5 0.272 E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied) base image에 따라 user권한이 바뀌어 있을 수 있으므로, FROM 코드 밑에 USER root를 추가하여 root 유저로 권한 변경 후 패키지 설치 코드를 작성하면 된다. FR..
-
Cassandra 3.11.3 버전 설치 Dockerfile 작성 및 컨테이너 실행(feat. sudo 명령어 X)DataBase/Cassandra 2021. 8. 2. 22:20
들어가기에 앞서.. Dockerfile 작성 중 중요한 포인트를 하나 발견했다! Dockerfile에는 sudo 명령어를 쓰지 않는다! bash: sudo: command not found 클라우드 환경에서 cassandra 관련 프로그램들을 설치할 때 sudo 명령어를 사용했어서 Dockerfile 작성 시 sudo를 붙였더니 error가 나서 구글링을 통해 Dockerfile에서는 sudo 명령어를 쓰지 않아도 됨을 알 수 있었다. https://stackoverflow.com/questions/39985480/unable-to-use-sudo-commands-within-docker-bash-sudo-command-not-found-is-di Unable to use sudo commands wit..
-
[Docker] Ubuntu 도커 우분투 설치 (feat. docker 이미지 pull하기)Docker 2021. 7. 16. 08:50
시스템 최신 업데이트 $ sudo apt update 사전 설치 진행 $ sudo apt install apt-transport-https ca-certificates curl software-properties-common Docker repository key 추가하기 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" $ sudo apt update Docker 설치 $ sudo apt install docker-ce Docker d..
-
Docker API 이미지 빌드 buildargs 파라미터 값 변환(Feat. URI component encode)카테고리 없음 2021. 6. 15. 22:58
Docker API로 도커 이미지 빌드 시 buildargs라는 파라미터를 Request body에 추가하여 변수 값을 전달할 수 있습니다. 이때 buildargs 파라미터를 전달하기 위해서는 URI component encoded 형태로 변환을 해주어야 합니다. 아래 Docker API 공식문서를 보고 참고해보겠습니다. https://docs.docker.com/engine/api/v1.41/#operation/ImageBuild Docker Engine API v1.41 Reference docs.docker.com buildargs를 파라미터로 추가할 수 있는 방법에 대해서 설명해주고 있습니다. 👉 buildargs={"FOO":"bar"} 일반적으로 URL 주소에 파라미터를 추가하는 양식은 다음과..
-
[Docker] Image build 자동화를 위한 Shell Script 작성하기Docker 2021. 6. 11. 22:05
👉 이미지 빌드를 위한 파일 압축 및 빌드 명령어를 자동화하기 위해 Shell Script에 작성하기 👉 해당 스크립트를 실행하기 위한 Task를 Airflow DAG에 추가하기 3-1) Shell Script 작성 👉 Docker 이미지 빌드를 위한 cmd 명령어 등 관련 명령어들 자동화 하기 위해 shell script에 작성 buildargs={"TIMESTAMP":"${TIMESTAMP}"} # Image Build 시 필요한 파일들 압축 tar -cvf Dockerfile.tar.gz Dockerfile requirements.txt app.py ... # CLI 명령어 첫번째 전달 파라미터 -> $1 # Image TAG Name from Airflow DAG(current_dag_run_ti..
-
[Docker] Docker API를 활용한 도커 이미지 빌드하기Docker 2021. 6. 3. 23:37
배경상황: AWS EC2 인스턴스에서 docker 컨테이너 실행 후 bash로 들어가서 Dockerfile을 작성함. 이 Dockerfile을 가지고 도커 이미지를 빌드하고 ECR에 올린 다음 ECS로 컨테이너를 실행하는 것이 최종 목표. docker 컨테이너 안에서 이미지 빌드/컨테이너 실행은 docker-in-docker 형태로 가능함. 몇 가지 방법이 있는데 1. docker socket을 활용한 bind mount 2. docker in docker인 dind 또는 3. docker 컨테이너 안에서 docker 수동 설치하기 4. docker 컨테이너를 실행한 이미지 빌드용 Dockerfile에 도커 설치 명령어 추가하기 그러나 1,2,4번의 경우 기존에 작성된 Dockerfile이 없기 때문에 ..
-
[Docker] 도커 기본 명령어 모음Docker 2021. 5. 16. 22:23
What is Docker? | 도커를 사용한다는 건 결국 이미지를 이용해서 컨테이너를 생성하고 실행하는 것 Docker를 사용한 웹 서버 구축하기 0. Docker 설치 https://ninano1109.tistory.com/160 Docker Ubuntu 도커 우분투 설치 (feat. docker 이미지 pull하기) 시스템 최신 업데이트 $ sudo apt update 사전 설치 진행 $ sudo apt install apt-transport-https ca-certificates curl software-properties-common Docker repository key 추가하기 $ curl -fsSL https://d.. ninano1109.tistory.com 1. Docker 이미지(n..
-
[Docker] 도커 이미지 & 컨테이너 중지 및 삭제Docker 2021. 4. 28. 20:28
Docker 이미지, 컨테이너 삭제 순서 1. Docker container 중지 2. Docker container 삭제 3. Docker image 삭제 1. Docker container 중지&삭제 # 개별 컨테이너 중지 $ docker container stop {컨테이너ID 앞 3자리} # 개별 컨테이너 삭제 $ docker container rm {컨테이너ID 앞 3자리} # 모든 컨테이너 중지 $ docker stop $(docker ps -a -q) # 모든 컨테이너 삭제 $ docker rm $(docker ps -a -q) 2. Docker image 삭제 # 개별 이미지 삭제 $ docker container rm {이미지ID 앞 3자리} # 모든 이미지 삭제 $ docker rmi ..