본문 바로가기

코딩/도커

나동빈 도커 강의 글로 정리하기

기본 명령어

-p [호스트의 포트]:[컨테이너의 포트]

-- rm 옵션을 붙이면 컨테이너 종료시 해당 컨테이너가 자동으로 삭제

 

실행중인 프로세스 정지하기

- 조회하기 sudo netstat -nap  | grep 8888 

- 삭제하기 sudo kill -9 7199

 

https 적용하기 (개인)

- 경로 만들기 mkdir ssl

- 문서 만들기 sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout "cert.key" -out "cert.pem" -batch

   

시스템 서비스로 등록하기

- which jupyter-notebook

- 쥬피터-노트북 경로 찾기

- 등록 sudo vi /etc/systemd/system/jupyter.service

 

- sudo systemctl daemon-reload

- sudo systemctl enable jupyter

- sudo systemctl start jupyter

- 확인하기 sudo systemctl status jupyter

 

ec2 용량 확인하기

- df -h

 

도커 설치

- sudo apt-get update

- sudo apt install apt-transport-https

- sudo apt install ca-certificates

- sudo apt install curl

- sudo apt install software-properties-common

- curl -fsSL https://download.docker.com/linux/ubunut/gpg | sudo apt-key add -

- sudo add-apt-repository "deb [arch=and64] https://download.docker.com/linux/ubuntu bionic stable"

- sudo apt update

- apt-cache policy docker-ce

- sudo apt install docker-ce

- sudo systemctl status docker

 

hellow-world image 실습

- docker pull hello-world

- 이미지 확인 docker images 

 

도커 파일 만들기

- mkdir example cd example

- sudo vi Dockerfile

- 빌드 docker build -t example .

- aws와 도커 연결하기 docker run -p 80:80 example 

- docker run -p 80:80-v /home/ubuntu/example/html:/var/www/html example (docker가 바라보는 위치 설정)

- cd /home/ubuntu/example/html

- sudo vi index.php

 

- docker rm -f `docker ps -a -q` (모든 콘테이너 제거)

- docker rmi -f docker rmi -f `docker images` (모든 이미지 제거)

 

mysql 설치

- docker run -d -p 9876:3306 -e MYSQL_ROOT_PASSWORD=password mysql:5.6

- docker ps -a

- docker exec -it id~ /bin/bash

- docoker inspect id~ 로 IPAddress를 확인

- sudo apt install mysql-client-core-5.7

- mysql -u root -p --host IPAddress 로 mysql 컨테이너 접속

- mysql  -u root -p  --host  127.0.0.1  --port  9876

- use mysql;

- CREATE  USER  'test'@'%' IDENTIFIED BY  'password';

- GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';

- FLUSH PRIVILEGES;

- sudo vi Dockerfile

- #Connect php & mysql 추가하기 RUN apt-get install -y php5.6-mysql

- docker build -t example .

- docker images (확인하기)

- docker run -p 80:80 -v /home/ubuntu/example/html:/var/www/html example ( 이미지 끼리 마운트 ) 웹서버 - mysql

 

aws rds 연결하기

- aws rds -> parameter group 생성 -> 파라미터 검색에 char 입력 ->

- utf8로 변경 character_set_client, character_set_connection, character_set_database, ~~ 전부 

- 파라미터에 collation 검색 후 utf8_general_ci 로 변경

- 디비생성 후 파라미터만 연결 후 진행

- 생성 후 인바운드 설정

- 엔드포인트로 연결

 

github 연동하기

- 폴더 생성

- /홈/우분투 에서 깃 클론하기

- 클론 후 Dockerfile, 앱을 위치하기

- 깃 커밋

 

Docker Hub 설정하기

- 도커 허브에 깃헙을 연동하여 도커파일을 땡길수있도록 설정함

docker login docker pull id/password docker run -p 80:80 -v /home/Docker~/Projcet:/var/www/html veneziar/docker-private-file -- docker를 실행하는데 80으로 포트하고 우분투의 도커/프로젝트 파일 경로를 아파치 기본 경로로 이어주고 그곳에 도커파일 위치를 다시 연결????

 

 

젠킨스 설치하기

- jenkins pull 시 docker pull jenkins/jenkins:lts jenkins 실행 시

- docker run -d -p 8080:8080 -v /home/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -u root    jenkins/jenkins:lts

- 젠킨스 설정 구성 클릭

- build 탭에서

docker pull dockerHubId/projectName
docker run -p 80:80 -v /home/Docker-private-file:/var/www/html veneziar/docker-private-file

 

docker in docker에 대해 알아보기 

- 8080으로 접속하기 (인바운드에서 8080port열여주기)

- docker logs id~로 젠킨스 비밀번호 찾기

- install suggest ~

- 빌드탭에서 build execute shell 선택

- docker pull id/password docker run -p 80:80 -v /home/Docker~/Projcet:/var/www/html veneziar/docker-private-file 

- 빌드 실행하면 docker: not found 오류 뜸 이는 젠킨스 컨테이너에서 도커가 설치되어있지 않아서 실행을 못함 설치 후 진행

 

- docker ps -a -> docker exec -it id~ /bin/bash

- jenkins에 접속 후 도커 다운로드 후 설치

- curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz

- tar zxvf docker-17.04.0-ce.tgz

- mv docker/docker /usr/local/bin (설치된 도커를 로컬/빈 으로 이동)

- rm -r docker docker-17.04.0-ce-tgz

- docker login id/password

- cd /home -> git clone https://github.com/gyeongdo/Docker-private-file

- 클론 이후 exit 로 빠져나옴 (이제는 젠킨스 컨테이너에 빌드할 앱이 있음)

 

git - jenkins 연동하기

- 빌드 소스 수정하기

- cd file

- git pull (비밀번호가 필요할 수 있음 www.hahwul.com/2018/08/git-credential-helper.html)

- docker rm -f php || true

- 빌드유발에서 빌드를 원격으로 유발 -> Authentication Token 설정

- 젠킨스 컨테이너로 이동해서 git pull 위치에서 cd /home/Docker-private-file에서

'코딩 > 도커' 카테고리의 다른 글

도커 한번에 날리기 명령어 모음  (0) 2020.10.16
docker ps -a restarting (1)  (0) 2020.09.22