기본 명령어
-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 |