우선 나의 경우, mac 환경에서 docker를 이용해서 ubuntu 22.04를 띄우고, 이 위에서 개발 환경을 세팅했다.
기본적인 docker 명령어
docker images 확인
docker images -a
docker image 삭제
docker rmi 'image name'
실행중인 컨테이너 확인
docker ps -a
컨테이너 실행
docker start 컨테이너ID
컨테이너 중지
docker container stop 'container ID'
컨테이너 삭제
docker container rm 'container id'
컨테이너 접속
docker exec -it 컨테이너ID /bin/bash
호스트-컨테이너 작업 폴더 복사
docker cp 컨테이너이름:컨테이너내경로 호스트내경로
그럼 먼저 docker를 설치하고 이 위에 ubuntu를 설치해보자.
docker에 ubuntu 설치
우선 mac에 docker를 설치하자. 그리고 나는 ubuntu:22.04 이미지가 필요했기 때문에 다음 명령어를 입력해서 이미지를 다운받았다.
docker pull ubuntu:22.04
그리고 도커 컨테이너를 생성 및 실행해주면 되는데, 나의 경우 나중에 외부에서 nginx에 접속 및 ssh로 접속하여 개발을 할 것이기 때문에 포트를 열어주는 옵션을 사용해 docker를 실행해줬다.
docker run -it -p 5280:80 -p 5222:22 --name simple-webserver ubuntu:22.04 /bin/bash
그리고 다음 순서대로 apt update, 각자 필요한 패키지 설치를 해주고,
apt udpate
apt -y install vim valgrind gcc gdb make sudo net-tools openssh-server
service ssh start
나는 Nginx,php,mysql 환경을 구축할 것이므로, 차례대로 설치해주겠다.
apt -y install nginx mysql-server php-fpm php-mysql
이때, mysql로 로그인할 때 처음에 root로 로그인이 안될수도 있는데, 그러면 다음 명령어를 실행해주면 된다.
/etc/init.d/mysql restart
그리고 mysql에 사용자를 생성해주고, 데이터베이스를 생성해주면 된다.
create user '사용자이름'@'localhost' identified by '비밀번호';
create database 데이터베이스이름;
grant all privileges on 데이터베이스이름.* to '사용자이름'@'localhost' with grant option;
참고로 우분투에서 생성한 user가 sudo 권한이 부여되지 않았을 수도 있는데 이때는 유저를 sudo 그룹에 추가해주면 된다.
usermod -aG sudo 유저이름
그러면 이제 php와 nginx를 연동시켜 보자. nginx의 기본 설정 경로인 /etc/nginx/sites-available로 이동하고, default 파일을 열어 다음과 같이 주석을 해제하고, 해당 경로에 있는 php-fpm 버전에 맞게 변경하자.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
그리고 /etc/nginx/nginx.conf 파일에서 다음 부분 주석을 해제해주자.
server_names_hash_bucket_size 64;
phpmyadmin 설치 및 docker 에서 접속 가능하도록 설정
sudo apt install phpmyadmin
# phpmyadmin 설정 경로 접속 후
vi /etc/phpmyadmin/config-db.php
# 아래 설정 변경
$dbserver='localhost' -> '127.0.0.1'
# 아파치 재 시작
service apache2 restart
'Tech > Docker' 카테고리의 다른 글
How To launch MySQL as Docker Container (0) | 2023.07.16 |
---|