설치
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