콘텐츠로 이동

웹 개발을 위해 로컬에서 docs.rockylinux.org 웹 사이트 실행 | Podman

이 문서는 로컬 컴퓨터에서 전체 docs.rockylinux.org 웹 사이트의 로컬 복사본을 재생성하고 실행하는 단계를 안내합니다. 문서 웹 사이트의 로컬 복사본을 실행하는 것은 다음과 같은 경우에 유용합니다:

  • docs.rockylinux.org 웹 사이트의 웹 개발 측면에 관심이 있는 경우 기여하고자 할 수 있습니다.
  • 문서 작성자이며, 기여하기 전에 문서가 어떻게 렌더링되고 보일지 보고 싶을 수 있습니다.

콘텐츠 환경 생성하기

  1. 필수 사항이 충족되었는지 확인하세요. 그렇지 않은 경우"사전 요구 사항 설정"으로 건너뛰고 이후 다시 돌아옵니다.

  2. 현재 작업 디렉토리를 로컬 시스템에서 글을 작성할 폴더로 변경합니다. 이 가이드의 나머지 부분에서 이 디렉토리를 $ROCKYDOCS로 지칭합니다. 데모 시스템에서 $ROCKYDOCS$HOME/projects/rockydocs를 가리킵니다.

$ROCKYDOCS가 이미 존재하지 않으면 만들고, 다음과 같이 입력하여 작업 디렉토리를 $ROCKYDOCS로 변경합니다:

mkdir -p $HOME/projects/rockydocs
export ROCKYDOCS=${HOME}/projects/rockydocs
cd  $ROCKYDOCS
  1. git이 설치되어 있는지 확인하십시오(dnf -y install git). $ROCKYDOCS에서 git을 사용하여 공식 Rocky Documentation 콘텐츠 저장소를 클론합니다. 다음과 같이 입력합니다:
git clone https://github.com/rocky-linux/documentation.git

이제 $ROCKYDOCS/documentation 폴더가 생겼을 것입니다. 이 폴더는 git 저장소이며, git의 제어 하에 있습니다.

  1. 또한 git을 사용하여 공식 docs.rockylinux.org 저장소를 복제하십시오. 다음과 같이 입력합니다:
git clone https://github.com/rocky-linux/docs.rockylinux.org.git

이제 $ROCKYDOCS/docs.rockylinux.org 폴더가 생겼을 것입니다. 이 폴더에서 웹 개발 기여를 실험할 수 있습니다.

Rocky Docs 웹 개발 환경 생성 및 시작

  1. 로컬 컴퓨터에서 Podman이 실행되고 있는지 확인하세요 (systemctl로 확인 가능). 다음 명령을 실행하여 확인합니다:
systemctl  enable --now podman.socket
  1. 다음 내용으로 새로운 docker-compose.yml 파일을 생성합니다.
version: '2'
services:
  mkdocs:
    privileged: true
    image: rockylinux:9.1
    ports:
      - 8001:8001
    environment:
      PIP_NO_CACHE_DIR: "off"
      PIP_DISABLE_PIP_VERSION_CHECK: "on"
    volumes:
       - type: bind
         source: ./documentation
         target: /app/docs
       - type: bind
         source: ./docs.rockylinux.org
         target: /app/docs.rockylinux.org
    working_dir: /app
    command: bash -c "dnf install -y python3 pip git && \
       ln -sfn  /app/docs   docs.rockylinux.org/docs && \
       cd docs.rockylinux.org && \
       git config  --global user.name webmaster && \
       git config  --global user.email webmaster@rockylinux.org && \
       curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/mike-plugin-changes.patch -o mike-plugin-changes.patch && \
       git apply --reverse --check mike-plugin-changes.patch && \
       /usr/bin/pip3 install --no-cache-dir -r requirements.txt && \
       /usr/local/bin/mike deploy -F mkdocs.yml 9.1 91alias && \
       /usr/local/bin/mike set-default 9.1 && \
       echo  All done && \
       /usr/local/bin/mike serve  -F mkdocs.yml -a  0.0.0.0:8001"

파일 이름을 docker-compose.yml로 저장하고 $ROCKYDOCS 작업 디렉토리에 파일을 저장합니다.

아래 명령을 실행하여 docker-compose.yml 파일의 사본을 빠르게 다운로드할 수도 있습니다:

curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/docker-compose-rockydocs.yml -o docker-compose.yml
  1. 마지막으로 docker-compose를 사용하여 서비스를 시작합니다. 다음과 같이 입력합니다:
docker-compose  up

로컬 docs.rockylinux.org 웹사이트 보기

  1. Rocky Linux 시스템에서 방화벽이 실행 중인 경우, 8001 포트가 열려 있는지 확인합니다. 다음과 같이 입력합니다:
firewall-cmd  --add-port=8001/tcp  --permanent
firewall-cmd  --reload

컨테이너가 실행되고 있으므로 웹 브라우저를 다음 URL로 이동하여 로컬 사이트의 복사본을 보여줄 수 있습니다:

http://localhost:8001

또는

http://:8001

전제 조건 설정

다음 명령을 사용하여 podman 및 기타 도구를 설치하고 설정합니다:

sudo dnf -y install podman podman-docker git

sudo systemctl enable --now  podman.socket

docker-compose를 설치하고 실행 가능하도록 설정합니다. 다음과 같이 입력합니다:

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

chmod 755 /usr/local/bin/docker-compose

docker 소켓의 권한을 수정합니다. 다음과 같이 입력합니다:

sudo chmod 666 /var/run/docker.sock

참고 사항

  • 이 가이드의 지침은 Rocky 문서 작성자/콘텐츠 기여자의 전제 조건이 아닙니다.
  • 전체 환경은 Podman 컨테이너에서 실행되므로 로컬 컴퓨터에 Podman을 올바르게 설정해야 합니다.
  • 컨테이너는 https://hub.docker.com/r/rockylinux/rockylinux에서 사용할 수 있는 공식 Rocky Linux 9.1 도커 이미지 위에 구축됩니다.
  • 컨테이너는 문서 콘텐츠를 웹 엔진(mkdocs)에서 분리하여 보관합니다.
  • 컨테이너는 포트 8001에서 수신 대기 중인 로컬 웹 서버를 시작합니다.

Author: Wale Soyinka