Docker 기반 컨테이너 환경에서 systemctl명령어를 사용하게 되면, "Failed to get D-Bus connection"에러가 나오는 경우가 있습니다. 컨테이너 생성시 docker run --privileged --name container image /sbin/init 컨테이너를 생성시에 --privileged 옵션을 추가하고, /sbin/init 명령어로 컨테이너를 실행시킵니다. docker exec -it container /bin/bash 생성된 컨테이너에 bash쉘로 프로세스를 가동시켜서 접속하게 되면, 문제없이 systemctl 명령어를 사용할 수 있게 됩니다. Mac 환경에서서는 추가적으로 설정 맥에서는 버전에 따라서 추가적인 설정파일의 수정이 필요합니다. 위의 방법으로도 해결..
IT 공부/Docker
ImageMagick 설치전 필수 패키지 설치 yum install php-pear php-devel gcc ImageMagick 설치 (1) 빌드 도구 설치 # yum groupinstall "Development Tools" # yum install kernel-devel kernel-headers 먼저 ImageMagick의 소스 파일을 다운로드하기 전에 ImageMagick에는 컴파일러 및 기타 필요한 개발 도구와 같은 개발 환경이 필요하므로 아래 명령을 사용하여 빌드 필수 도구를 설치해야 합니다. (2) 소스파일 다운로드 # yum install -y wget # wget https: // www.imagemagick.org / 다운로드 / ImageMagick.tar.gz (3) 압축해제 # ..
컨테이너 생성 컨테이너 생성 & 실행 docker run -d --privileged --name centos7-php8 centos:centos7 /sbin/init -d는 백그라운드로 실행 --privileged 와 /sbin/init 명령어는 나중에 systemctl 명령어를 사용할 때를 대비해서 설정 ( docker에서는 systemctl을 옵션없이 사용하면, 에러가 발생) centos:centos7 는 centos이름의 이미지를 사용하는데, 버전은 7버전을 사용 (이미지는 docker pull centos:centos7로 다운로드 하는 것이 가능하지만, 설치된 이미지가 없이 컨테이너를 생성하는 경우에 자동적으로 docker에서 이미지를 설치함) 컨테이너에 프로세스 실행 (접속) docker ex..
Linux는 centos기반의 환경에서 설치해볼려고 합니다. RPM을 이용한 설치를 하기위해서 centos 이미지를 통한, 컨테이너를 만들고 MySQL8.0를 설치할려 합니다. ※RPM : Red Hat 기반의 패키지 매니저 Docker 환경 CentOS7 버전을 이용한 컨테이너 실행 docker run -d --privileged --name mysql8.0 centos:centos7 /sbin/init 위의 옵션들을 짧게 설명하자면 -d : 백그라운드로 실행 --privaileged : systemctl을 사용하기 위한 추가 옵션 --name : 컨테이너 이름 centos:centos7 : centos 이미지를 사용하는데 버전을 7버전을 사용 /sbin/init : 사용할 명령어 컨테이너에 추가 프로..
Dockerfile을 이용해서 Nginx 컨태이너를 실행해보려 합니다. 그리고, 기본 index.html을 변경하는 작업도 자동으로 실행할 수 있도록 변경해보겠습니다. 새로운 디렉토리 생성 # mkdir nginx # cd nginx index.html Dockerfile을 이용해서 Nginx 컨테이너 실행하기 Dockerfile FROM nginx COPY . /usr/share/nginx/html FROM nginx : nginx이미지 기반으로 실행 COPY . /usr/share/nginx/html : 현재 디렉토리 위치에 있는 파일을 /usr/share/nginx/html 폴더에 복사 nginx서버는 디폴트값으로 /usr/share/nginx/html 위치에 있는 index.html 파일을 보여주..
docker-compose를 이용해서, 자동적으로 컨테이너를 실행하듯, Dockerfile을 이용해서 image를 자동적으로 생성할 수 있습니다. image는 기본 베이스가 있고, 여러가지 환경을 추가할 수 있습니다. 예를 들어서, ubuntu가 기본 os 환경에 git을 설치하고 싶은 경우에는 ?? ubuntu 컨테이너 생성 / 실행 docker run -it ubuntu bash git 확인 # git 그러면, 위와같이 commend not found 메세지가 출력됩니다. 그 이유는 아직 ubuntu 환경에 git이 설치되어있지 않기 때문입니다. git 설치 # apt-get update # apt-get install -y git apt-get은 리눅스 환경에서 패키지 설치를 하기위한 매니저입니다...