본문 바로가기

개발/Docker

(4)
[Docker] MySQL 컨테이너 생성 및 연결 MySQL 이미지 다운로드 $ docker pull mysql:8.0컨테이너 생성 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD= -e MYSQL_USER= -e MYSQL_PASSWORD= -e MYSQL_DATABASE= --name mysql: root 계정의 비밀번호 : 사용자 계정명. USER_NAME을 이름으로 하는 계정을 생성하고 모든 권한을 줌 : 사용자 비밀번호 : MySQL의 스키마명 : 컨테이너명 컨테이너 터미널 실행 $ docker exec -i -t bashMySQL 캐릭터 셋 설정 $ cat /etc/mysql/conf.d/utf8.cnf [client] default-character-set = utf8mb4 [mysql] defa..
[Docker] 로컬 Docker 이미지 파일 저장 후 원격 서버에 배포하기 1. 로컬 서버의 docker에서 다음 명령어를 입력하여 docker 이미지 파일을 tar 파일로 저장합니다. $ docker save 이미지명 > 파일명.tar 2. scp 명령어를 사용하여 생성된 파일을 원격 서버에 전송합니다. (원격 서버와 ssh 연결을 할 수 있어야 합니다) $ scp 파일명 계정명@원격서버IP: ex) scp test.txt root@127.0.0.1:/test/test.txt 로컬에 있는 test.txt파일을 원격에 있는 test폴더 아래 test.txt파일로 복사 주의) 파일이 저장되어 있는 경로가 한글이 포함되어 있을 경우 scp가 제대로 동작하지 않을 수 있습니다! 3. 원격서버에서 전송된 파일을 docker를 이용하여 load하여 image로 저장합니다. $ sudo ..
[Docker] DockerFile로 부터 이미지 생성 Docker에서 docker build라는 명령어를 사용하여 DockerFile로 부터 이미지를 생성할 수 있습니다. $ docker build 옵션 Dockerfile경로 주요 옵션: -t, --tag=””: 저장소 이름, 이미지 이름, 태그를 설정할 수 있습니다. 옵션 뒤에 /: 형식으로 적어주면 됩니다. ex) 1) DockerFile 작성 FROM node:10.16.0 COPY package.json /src/package.json RUN cd /src; npm install COPY . /src EXPOSE 80 WORKDIR /src CMD node bin/www.js FROM : 이미지로 부터 시작 COPY : 파일을 복사 RUN : 직접 쉘 명령어를 실행하도록 함 EXPOSE : 가상 머..
[Docker] Docker 터미널 명령어 1. 이미지 목록 확인 $ docker images 2. 컨테이너 생성 $ docker run -i -t -p 호스트포트:컨테이너포트 --name 컨테이너명(ID) 이미지명(ID) -i : interactive 옵션. 사용자에게 출력을 보여줌 -t : tty 옵션. 사용자에게 text terminal 환경을 조성해줌 --name: 컨테이너의 이름을 설정함. 해당 옵션을 주지 않을 경우 docker가 알아서 이름을 지어서 생성 -p: 호스트포트와 컨테이너포트를 연결하도록 하는 옵션 -expose: 컨테이너포트만 열어주는 옵션 3. 컨테이너 실행 $ docker start 컨테이너이름(ID) 4. 컨테이너 접속 $ docker attach 컨테이너이름(ID) 5. 컨테이너 목록 $ docker ps -a -..