묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
nginx를 모든 컨테이너에 설치를 해줘야하나요??
아직 강의를 다 듣진않았지만...nginx에서 각 컨테이너로 프록시를 해주려면어떻게 해야하나요?혹시 강의내에 내용이 있을까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
AWS 배포 시 docker-compose.yml 관리 방법 질문입니다.
현재 강의에서는 aws 인스턴스 에서 직접 compose.yml을 작성하는데 제가 현재 spring boot 프로젝트 루트 경로에 compose.yml을 구현해뒀어도 프로젝트 빌드시에는 yml이 포함되지 않아서 강의와 같이 인스턴스가 직접 생성해줘야하는 지 궁금합니다. 그리고 나중에 ci/cd를 하게 되면 github Actions같은 CI/CD 도구를 이용해야 yml파일이나 .env이런 파일을 직접 인스턴스에 구현하지 않아도 되는 것이 맞는 지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
sudo가 안먹혀요
3강 진행 중에 sudo lsof -i:3306 명령어를 사용했는데 ""Sudo가 이 컴퓨터에서 사용하지 않도록 설정되어 있습니다. 사용하도록 설정하려면 으로 이동하세요. Developer Settings page 설정 앱의"" 이렇게 나와서 시작을 못하고 있습니다. 그리고 다른 질문인데 현재 프로젝트를 하고 있는데 db를 mysql을 사용하고 있는 상황이라 만약 실습을 위해서 포트를 끄면 프로젝트할때 영향이 가는지도 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
볼륨을 쓰는 이유
4분쯤에 "볼륨을 제대로 잘 쓰려면 호스트의 디렉토리 경로를 빈 디렉토리로 만들던, 아니면 존재하지 않는 디렉토리로 만들어 놔야 이 컨테이너에 저장돼 있던 파일들을 이리로 붙여넣기를 해버립니다.이렇게. 호스트에 파일이 이미 있으면 이렇게 컨테이너 기존에 있던 폴더 다 지워버리고 복사가 됩니다."라고 하셨습니다.근데 볼륨을 쓰는 이유가 호스트에 파일을 저장하여 mysql 컨테이너를 변경해도 저장된 값을 쓰게 하려는 것인데 호스트에 있는 파일을 매번 지워야한다면 볼륨을 쓰는 이유가 없는 거 아닌가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
공유 폴더가 덮어씌워지는 것에 대한 질문
안녕하세요. 강의 잘 듣고 있습니다. docker run -e MYSQL_ROOT_PASSWORD=test123 -d -p 3306:3306 -v /own/dir:/var/lib/mysql mysql명령어를 통해 1차적으로 도커 볼륨을 이용해 컨테이너를 생성한 후에, 해당 컨테이너를 삭제하였습니다.(dir 폴더는 따로 생성하지 않았고, 컨테이너 생성 시 명령어를 통해 생성되게끔 하였습니다) 이후 같은 명령어로 컨테이너를 생성하게 되면, 해당 폴더가 호스트 컴퓨터에 존재하므로 해당 호스트 컴퓨터 폴더 안의 파일들이 컨테이너 안의 /var/lib/mysql/ 안에 덮어씌워지게 되기 때문에 서로 공유가 가능한 것. 제가 이해한 게 맞는지 확인 부탁드립니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker volume 생성 이후 container 종료
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pwd1234 -v /mnt/c/Users/jsill/Desktop/docker-mysql/mysq l_data:/var/lib/mysql mysql 위와 같이 docker 를 실행하면 처음엔 실행이 잘되다가 10초 정도 이후에 실행이 종료됩니다. log를 조회해도 매번 다른 오류가 발생합니다.mysqld: Table 'mysql.plugin' doesn't exist Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.OS는 윈도우 사용중입니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컨테이너 포트 설정 질문
안녕하세요 강의 잘 듣고 있습니다 감사합니다docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test123 -d mysql이렇게 컨테이너를 실행한 후, datagrip을 통해서 url: jdbc:mysql://localhost:3306 로 정상 접속되는 것 확인했습니다. 하지만,docker run -p 3306:8888 -e MYSQL_ROOT_PASSWORD=test123 -d mysql이렇게 실행하고 동일한 database url로 접속 시도하면 되질 않습니다. 3306으로 접속 시도하면 컨테이너 내부의 8888 mysql port와 매핑되어 있기 때문에 접속이 되어야하지 않나요?호스트, 컨테이너 포트를 동일하게 설정해야만 컨테이너 내부 mysql db에 접속이 가능한 이유가 잘 이해되지 않습니다.답변 부탁드립니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose ci&cd 질문
도커 컴포즈를 배우면서 여러개의 컨테이너를 띄우고 spring에서 특정 db를 가리켜서 사용할 수 있는걸 이해했는데 이걸 ci&cd 배포를 추가한다고 치면 문제가 발생합니다. 제가 이해하기로는 docker compose는 build 부분에 도커파일을 넣게 되어 있는데 근데 이러면 ci&cd 할 때 스크립트 순서가 java 설치 -> checkout -> 빌드 -> jar파일, 도커 파일, 도커 컴포즈 파일 scp를 활용해 전달 -> ssh로 접근해서 도커 컴포즈 실행이렇게 사용하면 이미지를 넣어두고 다른데서도 사용할 수 있어야 하는 그런 장점이 없어진다고 생각하는데 이걸 어떻게 배포를 해야 하는건가요? 제가 생각한 도커, 컴포즈 파일, jar 파일을 전달하고 해당 ec2에서 docker compose를 해야하는건가요??
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose 2개(mysql, spring boot)를 띄울시 동작을 안합니다.
도커 파일은 아래입니다.FROM openjdk:17-jdk COPY build/libs/*.jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"]도커 컴포즈 파일 입니다.services: my-server: build: . ports: - 8080:8080 depends_on: my-db: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: mydb volumes: - /Users/shchoi/Downloads/docker/mysql:/var/lib/mysql ports: - 3306:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping" ] interval: 5s retries: 10yml파일 입니다.spring: datasource: url: jdbc:mysql://my-db:3306/mydb username: root password: 1234 driver-class-name: com.mysql.cj.jdbc.Driver 이렇게 하고 실행시 db는 up이 되는데 spring은 다운 됩니다. 로그는 좀 길긴한데 아래와 같습니다.왜 안뜨는걸까요....;my-server-1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1812) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:346) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970) ~[spring-context-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at com.csh.springdemo.SpringDemoApplication.main(SpringDemoApplication.java:10) ~[!/:0.0.1-SNAPSHOT]my-server-1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]my-server-1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]my-server-1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]my-server-1 | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]my-server-1 | at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:102) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:226) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:194) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1442) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1513) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1859) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | ... 22 common frames omittedmy-server-1 | Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:191) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:181) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:392) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:129) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:81) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | ... 37 common frames omittedmy-server-1 |
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컨테이너 내부에서 사용하는 포트를 어떻게 지정하나요?
공부를 하다가 궁금해진건데 예를 들어서 MYSQL을 사용하면 3306 포트를 호스트에 노출 시켜서 run하는 시점에 docker run -p 3306:3306 이렇게 매핑을 한다 쳤을 때 컨테이너 내부의 3306은 어떤 기준으로 열리게 된건지가 궁금합니다. 처음에는 프로그램마다 다를거라고 생각을 했습니다. MYSQL은 3306 포트를 열게하는 설정이 있다. 그리고 자바로 치면 application.yml을 보고 server.port을 참고하여 포트를 열어버린다? 근데 이렇게 생각하니까 외부 프로그램이 포트를 연다라는 발상을 하게 되는데 좀 이상한 것 같습니다. 또한 어떤 기준으로 포트가 열리는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
localhost 관련
안녕하세요! 그러면 이전 영상대로 실습했을 때 docker compose ps 했을 때, 정상적으로 my-db와 my-server가 작동중인 경우는 잘못된건가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
failed to connect to mysql
gradlew build 이후compose up 했을 때mysql만 올라오고 spring boot서버는 안올라오는 상황입니다.gui db로 접속하려고 하니 밑의 그림과 같이 뜹니다.제가 직접 컨테이너에 접근하여 접속한 결과다음과 같이 똑같은 id,pw로 로그인이 되는데왜 gui환경에서만 로그인이 안되는 걸까요?root계정으로 접속 후 저 계정에 대한 비밀번호를 변경해보았습니다.root계정 접속 후 저 계정에 대한 모든 권한을 부여하였습니다.차이점application.yml파일에서 username: root로 실행하면스프링부트도 잘 올라오는데 username:xoxoxmin1268이런식으로 제 아이디를 넣으면 다음과 같은 로그 뜹니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기 import문제
현재 start.spring.io에서 의존성 두개 추가해서 generate 이후demo.zip파일을 받았는데 압축을 풀고 setting.gradle을 눌렸더니 밑의 그림과 같이 뜹니다.이게 압축을 푸는게 맞는건가요?혹시 몰라서 이클립스를 다운받고 이클립스에서 zip파일을 import시키고 appcontroller생성 후 @Restconrollerimport하는 부분에서 어노테이션을 못찾습니다.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커 컨테이너로 서버 운용시 질문
해당 강의를 듣고 우분투 서버에서 jar 를 백그라운드로 운영하던것을도커 컨테이너로 전환해보고 있습니다. 근데 우분투 서버에 파일을 전송해주는 ftp 서버와 같은 경우는 실무에서 도커 컨테이너로 운영하지않고 우분투 서버에 바로 설치하시죠? 정리하면jar 와 같은 was 서버는 도커 컨테이너로 운영하고우분투 서버에 파일을 옮기기 위한 ftp 서버같은 경우 도커 컨테이너가 아닌 우분투 서버에 바로 설치하시는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
.dockerignore
[실습] 백엔드 프로젝트(Nest.js)를 Docker로 실행시키기 강의에서.dockerignore에 node_modules를 지정해주었는데 컨테이너 내부에 node_modules가 들어가져있습니다.영상에서 강사님 컨테이너에도 node_modules가 있는데 맞는건가요?- 추가.dockerignore에 README.md 파일을 지정하고 빌드하니 README.md는 제외된 것 같습니다. node_modules는 파일이 아니라 디렉토리라 /를 붙여줘야하는 걸까요?아! 생각해보니 node_modules는 COPY한게 아니라 npm install의 결과물이군요!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
윈도우 볼륨 생성 안되는 문제
윈도우 환경으로 실습하고 계시는 분 중 저처럼 삽질 안하셨으면 하는 마음에 글을 남깁니다... ㅠ저는 강사님과 동일하게 명령어를 수행했고, 관리자 환경임에도 불구하고 디렉토리만 만들어지며 내부의 내용물을 텅빈 상태였습니다. 이때 아래와 같이 "" 붙여주시면 잘 적용이 됩니다.docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v "호스트주소:/var/lib/mysql" -d mysql
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
윈도우에서 ENTRYPOINT /bin/bash 실행 안되는 분들 참고
FROM openjdk:17-jdk ENTRYPOINT ["//bin//bash", "-c", "sleep 500"]/를 두번 입력해주시고 build 후 run 하면 docker ps 했을 때 올바르게 Up 상태가 됩니다. [실패] [성공] ※질문글 아닙니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
다른 이미지와 달리 직접 만든 이미지를 run 시킬 때 저절로 컨네이너가 종료되는 이유
자신이 직접 만든 이미지를 build 하면 docker image ls에 뜨고 이를 docker run -d my-jdk17-server 명령어로 실행시킨다 까지 이해했습니다.컨테이너가 내부적으로 필요한 명령어를 다 수행하면 컨네이너가 저절로 종료 된다고 하신 부분이 이해가 가지 않습니다. 이전에 mysql 실행할 때는 동일하게 run 명령어를 실행시키면 Up(실행)이 되었는데, 1) 왜 직접 만든 이미지는 실행되지 않나요? 2) mysql은 Dockerfile에 실행시키는 것까지 포함된건가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
image 3개
aws에 image push하면 영상에서는 하나가 뜨는데 저는 3개가 뜨네요 이렇게 동작해도 맞는건가요??
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
aws ecr 명령어 실행중 에러가 발생하여 질문드립니다~!
강사님 안녕하세요:)강의 잘 듣고 있으며 docker에 대해 쉽고 친절하게 알려주셔서 감사합니다. 질문을 한개 드립니다.'[실습] AWS ECR 사용해보기' 강의를 들으면서aws ecr get-login-password로 시작하는 명령어를 사용해 로그인을 시도했습니다. 그런데 아래와 같은 에러가 표출되었습니다.Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>BrokenPipeError: [Errno 32] Broken pipe[1] 69874 exit 120 aws ecr get-login-password --region ap-northeast-2 | 69875 killed docker login --username AWS --password-stdin이것은 어떻게 해결할 수 있을까요~?