새소식

Docker

docker - 자주 쓰는 것들

  • -

설치

sudo yum install yum-utils device-mapper-persistent-data lvm2 -y
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -y
sudo yum install docker-ce -y
sudo systemctl start docker
sudo systemctl enable docker

컴포즈 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

sudo 없이 사용

sudo usermod -aG docker ${USER}
입력 후 putty 재시작

삭제

# 컨테이너 삭제
docker rm -f $(docker ps -qa)

# 이미지 삭제
docker rmi -f $(docker images -qa)

# 안쓰는 네트워크 삭제
docker network prune -f

# 안쓰는 볼륨 삭제
docker volume prune -f

# 도커 프로젝트 삭제
sudo rm -rf /docker/projects
sudo rm -rf /docker_project

mysql

mysql 설치

docker run \
  --name mariadb__1 \
  -d \
  --restart unless-stopped \
  -e MARIADB_ROOT_PASSWORD=*************** \
  -p 3306:3306 \
  -v /docker_projects/mariadb__1/conf.d:/etc/mysql/conf.d \
  -v /docker_projects/mariadb__1/mysql:/var/lib/mysql \
  -v /docker_projects/mariadb__1/run/mysqld:/run/mysqld/ \
  mariadb:latest

mysql 보안 설정

# 보안설정
docker exec -it mariadb__1 /usr/bin/mariadb-secure-installation
- Switch to unix_socket authentication [Y/n] n
- Change the root password? [Y/n] n
- 나머지 엔터

mysql 마스터계정 생성

# 마스터계정(sbsst 생성) 및 DB 생성
docker exec -it mariadb__1 mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO sbsst@`%` IDENTIFIED BY 'sbs123414';
CREATE DATABASE nginx;
CREATE DATABASE site1;
CREATE DATABASE site2;
CREATE DATABASE site3;
CREATE DATABASE site4;

django개발모드 설치

# ACG 에서 미리 8000 포트 허용해주세요.

# python__1 컨테이너 생성
docker run -d \
  --name python__1 \
  --restart unless-stopped \
  -p 8000:8000 \
  -v /docker_projects/nginx__1/data/site_projects/python__1:/data/site_projects/python__1 \
  python:3 \
  tail -f /dev/null

# 내부 프로그램 업데이트
docker exec python__1 apt-get update -y
docker exec python__1 apt-get install vim mlocate -y
docker exec python__1 pip install --upgrade pip
docker exec python__1 pip install Django

# 프로젝트 폴더 생성
docker exec python__1 mkdir /data/site_projects/python__1/src

# 프로젝트 생성
docker exec python__1 bash -c "cd /data/site_projects/python__1/src ; django-admin startproject base ."

# 외부접속 허용
docker exec python__1 sed -i 's/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = \["*"\]/' /data/site_projects/python__1/src/base/settings.py

# http://public.473.be:8000 도메인에 대해서 접속 허용
sudo sh -c "echo \"CSRF_TRUSTED_ORIGINS = ['http://public.473.be:8000']\" >> /docker_projects/nginx__1/data/site_projects/python__1/src/base/settings.py"

# 노헙 명령어 활성화
docker exec python__1 dpkg -S /usr/bin/nohup
# 장고를 개발모드로 실행
docker exec python__1 bash -c "cd /data/site_projects/python__1/src ; nohup python manage.py runserver 0:8000 &"
# 장고 종료, 필요시에만 사용하세요.
docker exec python__1 pkill "python"

# 접속확인
http://public.473.be:8000

젠킨스 설치

# 젠킨스 실행
docker run \
  -d \
  -p 8080:8080 \
  -v /docker_projects/jenkins__1/var/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name jenkins__1 \
  -u root \
  jenkins/jenkins:lts

# 젠킨스 초기비번 확인
docker exec jenkins__1 cat /var/jenkins_home/secrets/initialAdminPassword

# 젠킨스 접속
http://public.473.be:8080
- 초기 비번 입력
- 플러그인 설치시작

# jenkins__1 컨테이너 세팅 및 도커 설치
docker exec jenkins__1 apt-get update -y
docker exec jenkins__1 apt-get install wget apt-utils -y
docker exec jenkins__1 bash -c "wget -qO- http://get.docker.com/ | sh"
docker exec jenkins__1 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker exec jenkins__1 chmod +x /usr/local/bin/docker-compose
docker exec jenkins__1 ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# jenkins__1 컨테이너에 파이썬 설치
docker exec jenkins__1 apt-get install python3 -y

# 깃허브와의 연결을 위한 키 생성
docker exec jenkins__1 bash -c "mkdir /var/jenkins_home/.ssh"
docker exec -it jenkins__1 bash -c "cd /var/jenkins_home/.ssh && ssh-keygen -t rsa -b 4096 -C jenkins__1 -f jenkins__1"
- 엔터 2번

# 깃허브와의 연결을 위한 키에서 비밀키 확인
docker exec jenkins__1 cat /var/jenkins_home/.ssh/jenkins__1

# 깃허브와의 연결을 위한 키에서 공개키 확인
docker exec jenkins__1 cat /var/jenkins_home/.ssh/jenkins__1.pub
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.