. 분명 전달에는 모든게 ( ) 잘되었는데 다음날 보니 PHP 에서 DB 접속이 안됨
- 도커 컨테이너 조회
[cofor@localhost apm_each]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72c9256ece57 apm_each_apache2 "apachectl -D FOREGR…" 4 minutes ago Up 4 minutes 0.0.0.0:9022->22/tcp, :::9022->22/tcp, 0.0.0.0:9080->80/tcp, :::9080->80/tcp apache2
3120c8eec3ab mysql:8.0 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
1416567744ff gitlab/gitlab-runner:latest "/usr/bin/dumb-init …" 17 hours ago Exited (0) 6 minutes ago gitlab-runner
c9e9288ebef8 gitlab/gitlab-ce:latest "/assets/wrapper" 23 hours ago Exited (137) 5 minutes ago gitlab
gitlab 과 gitlab-runner 중지
docker stop gitlab-runner
docker stop gitlab
docker-compose 중지 및 다시 시작
docker-compose down
docker-compose up -d
document_root 의 index.php 살펴봄
vi Project/apache2/html/index.php
<?php
echo 'safasf 77<br>';
$conn = mysqli_connect(
'220.72.212.xxx',
'crawl',
'crawl',
'crawl',
);
if(mysqli_connect_error()) {
echo "Failed to Connect Mysql: ".mysqli_connect_error();
}
$sql = "SELECT VERSION()";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
print_r($row["VERSION()"]);
phpinfo();
gitlab 과 gitlab-runner 컨테이너 시작
docker start gitlab
docker start gitlab-runner
[cofor@localhost apm_each]$ docker start gitlab-runner Error response from daemon: network 4a98a9d0ada52b83198310a49ae57ddcd0f9435646835c61cfac9791dda850f0 not found Error: failed to start containers: gitlab-runner
gitlab-runner 컨테이너 지우고 다시 실행
#네트워크 조회
docker network ls
#gitlab-runner 삭제
docker rm gitlab-runner
#gitlab-runner 컨테이너 생성
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
--network apm_each_apm_net \
gitlab/gitlab-runner:latest
apache2 컨테이너 ip 확인
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' apache2
172.29.0.3
apache2 컨테이너 접속 및 ssh 설정
# apache2 컨테이너 접속
docker exec -it apache2 bash
# git 설치
apt install -y git
# ssh 설치 및 설정
apt install update
apt install -y openssh-server
# PermitRootLogin yes 추가
vi /etc/ssh/sshd_config
...
...
PermitRootLogin yes
# ssh start
service ssh start
# root passwd change
passwd
# git 설정
cd /var/www/html
git pull
git config --global --add safe.directory /var/www/html
git pull
# 비밀번호 입력후
git config credential.helper store
gitlab-runner 컨테이너에서 CI/CD 시 암호 없이 로그인 만들어 줘야 함
# gitlab-runner 컨테이너 접속
docker exec -it gitlab-runner bash
# gitlab-runner 계정 전환
su - gitlab-runner
# ssh key 생성
ssh-keygen -t rsa
# ssh key copy
ssh-copy-id root@172.29.0.3
ssh-copy-id root@apache2 # 컨테이너 이름
#apache2 서버 접속 root 비번 물어보고 정상적으로 접속된다.
ssh root@172.29.0.3
ssh root@apache2 #컨테이너 이름
CI/CD 성공
여전히 php 에서 DB 접속오류
mysql 컨테이너 접속
docker exec -it mysql bash
mysql -uroot -p
show databases
mysql> show databases;
+---------------------+
| Database |
+---------------------+
| Z_README_TO_RECOVER |
| information_schema |
| mysql |
| performance_schema |
| sys |
+---------------------+
헉 처음 셋팅한 DB 가 날라갔다.
db create
create database crawlDB;
create user 'crawl'@'localhost' identified by 'crawl';
grant all privileges on *.* to 'crawl'@'localhost' with grant option;
성공
'인프라' 카테고리의 다른 글
gitlab 도메인 설정 및 재시작 (0) | 2023.02.14 |
---|---|
docker Dockerfile 이용한 ubuntu + APM + gitlab + gitlab-runner + git 설정 (0) | 2023.02.10 |
docker gitlab-runner 컨테이너에서 apache2 컨테이너로 ssh 접속 방법 (0) | 2023.02.08 |
docker SSH 를 사용하여 docker 컨테이너에 연결방법 (0) | 2023.02.08 |
docker-compose apache2 + php + mysql8 (APM)서버 구축 (0) | 2023.02.08 |