From 204811779e824f12cb6471af339e6116ad60e6a1 Mon Sep 17 00:00:00 2001 From: koopa Date: Tue, 4 Apr 2023 11:48:43 +0900 Subject: [PATCH] init --- .gitignore | 1 + command/docker명령어 | 5 + docker/compose/ds2ai.yaml | 46 +++++++ docker/compose/gitea.yaml | 42 ++++++ docker/compose/jenkins-agent.yaml | 35 +++++ docker/compose/jenkins.yaml | 20 +++ docker/compose/registry.yaml | 15 +++ .../Dockerfile-jenkins_ssh-agent_latest-jdk17 | 6 + docker/stack/cephfs-volume-exam.yaml | 9 ++ docker/stack/cephfs.yaml | 120 ++++++++++++++++++ 10 files changed, 299 insertions(+) create mode 100644 .gitignore create mode 100644 command/docker명령어 create mode 100644 docker/compose/ds2ai.yaml create mode 100644 docker/compose/gitea.yaml create mode 100644 docker/compose/jenkins-agent.yaml create mode 100644 docker/compose/jenkins.yaml create mode 100644 docker/compose/registry.yaml create mode 100644 docker/dockerfile/Dockerfile-jenkins_ssh-agent_latest-jdk17 create mode 100644 docker/stack/cephfs-volume-exam.yaml create mode 100644 docker/stack/cephfs.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85e7c1d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea/ diff --git a/command/docker명령어 b/command/docker명령어 new file mode 100644 index 0000000..01740e2 --- /dev/null +++ b/command/docker명령어 @@ -0,0 +1,5 @@ +[registry 목록 조회] +curl -X GET http://localhost:5000/v2/_catalog + +[registry 의 이미지 tag list 조회] +curl -X GET [Registry Address]/v2/[Image Name]/tags/list \ No newline at end of file diff --git a/docker/compose/ds2ai.yaml b/docker/compose/ds2ai.yaml new file mode 100644 index 0000000..0bdc4da --- /dev/null +++ b/docker/compose/ds2ai.yaml @@ -0,0 +1,46 @@ +version: '2' +services: + + ds2ai: + image: dslabglobal/ds2ai:stable + container_name: ds2ai-container + environment: + - LC_ALL=C.UTF-8 + - LANG=C.UTF-8 + - NVIDIA_DRIVER_CAPABILITIES=all + - NVIDIA_VISIBLE_DEVICES=all + - NVIDIA_DISABLE_REQUIRE=1 + ports: + - 13000:13000 + - 13001:13001 + - 13002:13002 + - 13003:19999 + - 13004:19998 + - 13005:80 + - 13006:3306 + - 13007:27017 + - 13009:3009 + - 13010:13010 + - 13011:13011 + - 13012:13012 + - 13013:13013 + - 13014:13014 + - 13015:13015 + - 13016:13016 + - 13017:13017 + - 13018:13018 + - 13019:13019 + - 13020:13020 + - 13021:13021 + - 13022:13022 + - 13023:13023 + - 13024:13024 + - 13025:13025 + - 13026:13026 + - 13027:13027 + - 13028:13028 + - 13029:13029 + privileged: true + ipc: host + restart: always + entrypoint: ["/bin/sh", "-c", "/root/ds2ai/start_all.sh && tail -f /dev/null"] \ No newline at end of file diff --git a/docker/compose/gitea.yaml b/docker/compose/gitea.yaml new file mode 100644 index 0000000..e1a6e46 --- /dev/null +++ b/docker/compose/gitea.yaml @@ -0,0 +1,42 @@ +version: "3" + +networks: + net-public: + external: true + +services: + server: + image: gitea/gitea:1.18.0 + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=gitea + restart: always + networks: + - net-public + volumes: + - /mnt/disk1/gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3000:3000" + - "222:22" + depends_on: + - db + + db: + image: postgres:14 + restart: always + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=gitea + - POSTGRES_DB=gitea + networks: + - net-public + volumes: + - /mnt/disk1/gitea/db:/var/lib/postgresql/data \ No newline at end of file diff --git a/docker/compose/jenkins-agent.yaml b/docker/compose/jenkins-agent.yaml new file mode 100644 index 0000000..00fd727 --- /dev/null +++ b/docker/compose/jenkins-agent.yaml @@ -0,0 +1,35 @@ +version: "3" + +services: + jenkins: + image: jenkins-docker-agent:lts-jdk17 + container_name: jenkins-agent + volumes: + - temp:/tmp + - run:/run + - varrun:/var/run + - key:/home/jenkins/.jenkins + - home:/home/jenkins/agent + - /var/run/docker.sock:/var/run/docker.sock + environment: + - JENKINS_AGENT_SSH_PUBKEY=${pubkey} + #pubkey : ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/5EaeHPy5o1TJL8IomP2AjqVkivzN8RAJEiimFb2fEgdmznMcCq7hDzpFakpQC65+siDfg8BDTpwftuYe8mhkcsPeQqXlD2p8hAdC4IG6Ga1tzKy8YAKEvUR9dGcQYcwRe/VSsr2R7WEo7BxU6QYRCg1PutA82iZToBd85xpliiU9+iGSxNDLCQldvdRNCcanay4bg9vTg1VM9EkTOb3yKL988Lsv3pckB0eE4+1IF1a/LpYdrAolR39umi6qFDSlUCsoiEvBihwnC5Q0uVwAIqc5umadH0PNAvfbxOPVOIfbxdZkwiRZUk6h8gvwFillcewFJjfOCXbV2gsOAYtR9UoivN4bB2HzQzkbjS0VcSJnEBv2Qp3Xn3vXMcj1Xpgo5IOQFmicN0bo0hkXOIGEJLr1V0CqowfE05CaF4pRtDRUQKEvxRPZ94qdTeHSdfz4awdqMcjTkp4j2cAGLqRcmPFGIihoOYFZcfOaarSsR1n3UFOmfbzYWMUJEzcfrB0= + networks: + - net-public + +volumes: + temp: + driver: local + run: + driver: local + varrun: + driver: local + key: + driver: local + home: + driver: local + +networks: + net-public: + external: true + diff --git a/docker/compose/jenkins.yaml b/docker/compose/jenkins.yaml new file mode 100644 index 0000000..d6f603a --- /dev/null +++ b/docker/compose/jenkins.yaml @@ -0,0 +1,20 @@ +version: "3" + +services: + jenkins: + image: jenkins/jenkins:lts + container_name: jenkins + restart: always + user: root + ports: + - 8080:8080 + - 50000:50000 + volumes: + - /mnt/disk1/jenkins:/var/jenkins_home + - /var/run/docker.sock:/var/run/docker.sock + networks: + - net-public + +networks: + net-public: + external: true \ No newline at end of file diff --git a/docker/compose/registry.yaml b/docker/compose/registry.yaml new file mode 100644 index 0000000..4269c80 --- /dev/null +++ b/docker/compose/registry.yaml @@ -0,0 +1,15 @@ +version: "3" + +services: + registry: + image: registry + container_name: registry + restart: always + ports: + - 5000:5000 + networks: + - net-public + +networks: + net-public: + external: true diff --git a/docker/dockerfile/Dockerfile-jenkins_ssh-agent_latest-jdk17 b/docker/dockerfile/Dockerfile-jenkins_ssh-agent_latest-jdk17 new file mode 100644 index 0000000..9b734a6 --- /dev/null +++ b/docker/dockerfile/Dockerfile-jenkins_ssh-agent_latest-jdk17 @@ -0,0 +1,6 @@ +FROM jenkins/ssh-agent:latest-jdk17 +RUN apt-get update && apt-get install -y lsb-release +RUN apt-get install -y ca-certificates curl gnupg lsb-release +RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc https://download.docker.com/linux/debian/gpg +RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list +RUN apt-get update && apt-get install -y docker-ce-cli diff --git a/docker/stack/cephfs-volume-exam.yaml b/docker/stack/cephfs-volume-exam.yaml new file mode 100644 index 0000000..9c6e5dc --- /dev/null +++ b/docker/stack/cephfs-volume-exam.yaml @@ -0,0 +1,9 @@ +volumes: + test: + driver: cephfs + driver_opts: + client_name: swarm + keyring: /etc/ceph/ceph.client.swarm.keyring + #mount_opts: mds_namespace=example + remote_path: /cephfs_data + servers: 10.10.20.20:6789 \ No newline at end of file diff --git a/docker/stack/cephfs.yaml b/docker/stack/cephfs.yaml new file mode 100644 index 0000000..850a6ff --- /dev/null +++ b/docker/stack/cephfs.yaml @@ -0,0 +1,120 @@ +version: "3.6" + +volumes: + etc: + var: + +networks: + hostnet: + external: true + name: host + +configs: + compat.sh: + external: true + ceph.conf: + external: true + +secrets: + ceph.monmap: + external: true + ceph.mon.keyring: + external: true + ceph.client.admin.keyring: + external: true + ceph.bootstrap-osd.keyring: + external: true + +services: + mon: + image: ceph/daemon + entrypoint: /tmp/compat.sh + command: mon + networks: + hostnet: {} + volumes: + - etc:/etc/ceph + - var:/var/lib/ceph + configs: + - source: compat.sh + target: /tmp/compat.sh + mode: 0755 + - source: ceph.conf + target: /etc/ceph/ceph.conf + secrets: + - ceph.monmap + - ceph.mon.keyring + - ceph.client.admin.keyring + - ceph.bootstrap-osd.keyring + environment: + - "NETWORK_AUTO_DETECT=4" + deploy: + mode: global + placement: + constraints: + - node.role == manager + + mgr: + image: ceph/daemon + entrypoint: /tmp/compat.sh + command: mgr + #hostname: "{{.Node.Hostname}}" + networks: + hostnet: {} + volumes: + - etc:/etc/ceph + - var:/var/lib/ceph + configs: + - source: compat.sh + target: /tmp/compat.sh + mode: 0755 + - source: ceph.conf + target: /etc/ceph/ceph.conf + secrets: + - ceph.client.admin.keyring + # This will add zabbix_sender to mgr + environment: + - ZABBIX=1 + deploy: + replicas: 1 + + osd: + image: ceph/daemon + entrypoint: /tmp/compat.sh + command: osd + networks: + hostnet: {} + volumes: + - etc:/etc/ceph + - var:/var/lib/ceph + - /mnt/osd:/var/lib/ceph/osd + configs: + - source: compat.sh + target: /tmp/compat.sh + mode: 0755 + - source: ceph.conf + target: /etc/ceph/ceph.conf + secrets: + - ceph.bootstrap-osd.keyring + deploy: + mode: global + + mds: + image: ceph/daemon + entrypoint: /tmp/compat.sh + command: mds + networks: + hostnet: {} + volumes: + - etc:/etc/ceph + - var:/var/lib/ceph + configs: + - source: compat.sh + target: /tmp/compat.sh + mode: 0755 + - source: ceph.conf + target: /etc/ceph/ceph.conf + secrets: + - ceph.client.admin.keyring + deploy: + replicas: 2 \ No newline at end of file