From 2ddb9f4d48d803f382c94380b0633d3edd01c951 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Thu, 27 May 2021 17:05:23 +0800 Subject: [PATCH] update Former-commit-id: 177f14a25f399882b6f663864c3108abc3865ba6 Former-commit-id: 8294e17140b337f2beaa9ce51b42a82899f6754d --- labs/example/base/docker-compose.yml | 4 +- labs/gitlab/docker-compose.yml | 15 +++- labs/nginx/conf/nginx/nginx.conf | 30 +++++++ labs/nginx/docker-compose.yml | 19 +++++ labs/portainer/.env | 2 + labs/portainer/.gitignore | 3 + labs/portainer/conf/bind/named.conf | 12 +++ labs/portainer/conf/dnsmasq/dnsmasq.conf | 16 ++++ labs/portainer/conf/nginx/conf.d/gitlab.conf | 8 ++ labs/portainer/conf/nginx/conf.d/netdata.conf | 8 ++ .../conf/nginx/conf.d/portainer.conf | 8 ++ labs/portainer/conf/nginx/nginx.conf | 30 +++++++ labs/portainer/docker-compose.yml | 80 +++++++++++++++++++ labs/portainer/start.sh | 1 + labs/portainer/stop.sh | 1 + 15 files changed, 234 insertions(+), 3 deletions(-) create mode 100644 labs/nginx/conf/nginx/nginx.conf create mode 100644 labs/nginx/docker-compose.yml create mode 100644 labs/portainer/.env create mode 100644 labs/portainer/.gitignore create mode 100644 labs/portainer/conf/bind/named.conf create mode 100644 labs/portainer/conf/dnsmasq/dnsmasq.conf create mode 100644 labs/portainer/conf/nginx/conf.d/gitlab.conf create mode 100644 labs/portainer/conf/nginx/conf.d/netdata.conf create mode 100644 labs/portainer/conf/nginx/conf.d/portainer.conf create mode 100644 labs/portainer/conf/nginx/nginx.conf create mode 100644 labs/portainer/docker-compose.yml create mode 100644 labs/portainer/start.sh create mode 100644 labs/portainer/stop.sh diff --git a/labs/example/base/docker-compose.yml b/labs/example/base/docker-compose.yml index 09b7544f..098249f6 100644 --- a/labs/example/base/docker-compose.yml +++ b/labs/example/base/docker-compose.yml @@ -9,12 +9,12 @@ networks: services: portainer: image: portainer/portainer-ce:2.5.0 - #restart: always + restart: always ports: - 9000:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - #- portainer_data:/data + - ./data/portainer:/data networks: default: ipv4_address: 172.172.0.9 diff --git a/labs/gitlab/docker-compose.yml b/labs/gitlab/docker-compose.yml index 855e1571..747a81aa 100644 --- a/labs/gitlab/docker-compose.yml +++ b/labs/gitlab/docker-compose.yml @@ -1,4 +1,11 @@ version: "3.8" +networks: + default: + name: mynetwork + driver: bridge + ipam: + config: + - subnet: 172.172.0.0/24 services: #https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose #https://github.com/sameersbn/docker-gitlab/blob/master/docker-compose.yml @@ -22,6 +29,9 @@ services: - ./data/gitlab/etc:/etc/gitlab - ./data/gitlab/log:/var/log/gitlab - ./data/gitlab/opt:/var/opt/gitlab + networks: + default: + ipv4_address: 172.172.0.6 #https://docs.gitlab.com/runner/register/index.html#docker #http://localhost:9080/admin/runners #gitlab-runner register @@ -38,4 +48,7 @@ services: - ${DOCKER_SOCK}:/var/run/docker.sock - ./data/gitlab-runner:/etc/gitlab-runner depends_on: - - gitlab \ No newline at end of file + - gitlab + networks: + default: + ipv4_address: 172.172.0.7 \ No newline at end of file diff --git a/labs/nginx/conf/nginx/nginx.conf b/labs/nginx/conf/nginx/nginx.conf new file mode 100644 index 00000000..ec17822e --- /dev/null +++ b/labs/nginx/conf/nginx/nginx.conf @@ -0,0 +1,30 @@ +user root; +worker_processes 4; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + + server { + listen 80; + server_name default; + absolute_redirect off; + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } + include conf.d/*.conf; +} \ No newline at end of file diff --git a/labs/nginx/docker-compose.yml b/labs/nginx/docker-compose.yml new file mode 100644 index 00000000..80338229 --- /dev/null +++ b/labs/nginx/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3.8" +networks: + default: + name: mynetwork + external: true +services: + nginx: + image: nginx:1.20.0 + restart: always + environment: + TZ: "Asia/Shanghai" + ports: + - 9992:9092 + volumes: + - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./log/nginx:/var/log/nginx + networks: + default: + ipv4_address: 172.172.0.10 \ No newline at end of file diff --git a/labs/portainer/.env b/labs/portainer/.env new file mode 100644 index 00000000..5d223926 --- /dev/null +++ b/labs/portainer/.env @@ -0,0 +1,2 @@ +TZ=Asia/Shanghai +IP=10.10.14.176 \ No newline at end of file diff --git a/labs/portainer/.gitignore b/labs/portainer/.gitignore new file mode 100644 index 00000000..c225f2a6 --- /dev/null +++ b/labs/portainer/.gitignore @@ -0,0 +1,3 @@ +.vscode +log +data \ No newline at end of file diff --git a/labs/portainer/conf/bind/named.conf b/labs/portainer/conf/bind/named.conf new file mode 100644 index 00000000..5f2290c2 --- /dev/null +++ b/labs/portainer/conf/bind/named.conf @@ -0,0 +1,12 @@ +// This is the primary configuration file for the BIND DNS server named. +// +// Please read /usr/share/doc/bind9/README.Debian.gz for information on the +// structure of BIND configuration files in Debian, *BEFORE* you customize +// this configuration file. +// +// If you are just adding zones, please do that in /etc/bind/named.conf.local + +include "/etc/bind/named.conf.options"; +include "/etc/bind/named.conf.local"; +include "/etc/bind/named.conf.default-zones"; +allow-query-cache { any; }; \ No newline at end of file diff --git a/labs/portainer/conf/dnsmasq/dnsmasq.conf b/labs/portainer/conf/dnsmasq/dnsmasq.conf new file mode 100644 index 00000000..dfadd0ec --- /dev/null +++ b/labs/portainer/conf/dnsmasq/dnsmasq.conf @@ -0,0 +1,16 @@ +#dnsmasq config, for a complete example, see: +# http://oss.segetech.com/intra/srv/dnsmasq.conf +#log all dns queries +log-queries +#dont use hosts nameservers +no-resolv +#use cloudflare as default nameservers, prefer 1^4 +server=114.114.114.114 +server=8.8.8.8 +strict-order +#serve all .company queries using a specific nameserver +server=/lan/10.10.14.176 +#explicitly define host-ip mappings +address=/portainer.lan/10.10.14.176 +address=/netdata.lan/10.10.14.176 +address=/gitlab.lan/10.10.14.176 \ No newline at end of file diff --git a/labs/portainer/conf/nginx/conf.d/gitlab.conf b/labs/portainer/conf/nginx/conf.d/gitlab.conf new file mode 100644 index 00000000..c53897f5 --- /dev/null +++ b/labs/portainer/conf/nginx/conf.d/gitlab.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name gitlab.lan; + + location / { + proxy_pass http://gitlab:9080; + } +} \ No newline at end of file diff --git a/labs/portainer/conf/nginx/conf.d/netdata.conf b/labs/portainer/conf/nginx/conf.d/netdata.conf new file mode 100644 index 00000000..f89aa391 --- /dev/null +++ b/labs/portainer/conf/nginx/conf.d/netdata.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name netdata.lan; + + location / { + proxy_pass http://netdata:19999; + } +} \ No newline at end of file diff --git a/labs/portainer/conf/nginx/conf.d/portainer.conf b/labs/portainer/conf/nginx/conf.d/portainer.conf new file mode 100644 index 00000000..ed9c2e3c --- /dev/null +++ b/labs/portainer/conf/nginx/conf.d/portainer.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name portainer.lan; + + location / { + proxy_pass http://portainer:9000; + } +} \ No newline at end of file diff --git a/labs/portainer/conf/nginx/nginx.conf b/labs/portainer/conf/nginx/nginx.conf new file mode 100644 index 00000000..ec17822e --- /dev/null +++ b/labs/portainer/conf/nginx/nginx.conf @@ -0,0 +1,30 @@ +user root; +worker_processes 4; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + + server { + listen 80; + server_name default; + absolute_redirect off; + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } + include conf.d/*.conf; +} \ No newline at end of file diff --git a/labs/portainer/docker-compose.yml b/labs/portainer/docker-compose.yml new file mode 100644 index 00000000..a961779f --- /dev/null +++ b/labs/portainer/docker-compose.yml @@ -0,0 +1,80 @@ +version: "3.8" +networks: + default: + name: mynetwork + driver: bridge + ipam: + config: + - subnet: 172.172.0.0/24 +services: + portainer: + image: portainer/portainer-ce:2.5.0 + restart: always + ports: + - 8000:8000 + - 9000:9000 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./data/portainer:/data + networks: + default: + ipv4_address: 172.172.0.2 + netdata: + image: netdata/netdata:v1.30.0 + restart: always + ports: + - 19999:19999 + cap_add: + - SYS_PTRACE + security_opt: + - apparmor:unconfined + volumes: + - /etc/passwd:/host/etc/passwd:ro + - /etc/group:/host/etc/group:ro + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /etc/os-release:/host/etc/os-release:ro + networks: + default: + ipv4_address: 172.172.0.3 + #systemctl stop systemd-resolved + #systemctl disable systemd-resolved + # bind: + # image: sameersbn/bind:9.16.1-20200524 + # restart: always + # environment: + # - ROOT_PASSWORD=dsideal + # ports: + # - 53:53/tcp + # - 53:53/udp + # - 10000:10000/tcp + # volumes: + # - ./data/bind:/data + # networks: + # default: + # ipv4_address: 172.172.0.4 + dnsmasq: + image: jpillora/dnsmasq:1.1.0 + restart: always + cap_add: + - NET_ADMIN + ports: + - 53:53/udp + - 10000:8080 + volumes: + - ./conf/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf + nginx: + image: nginx:1.20.0 + #restart: always + environment: + TZ: "Asia/Shanghai" + ports: + - 80:80 + - 443:443 + volumes: + #- ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./conf/nginx/conf.d:/etc/nginx/conf.d + - ./log/nginx:/var/log/nginx + networks: + default: + ipv4_address: 172.172.0.10 diff --git a/labs/portainer/start.sh b/labs/portainer/start.sh new file mode 100644 index 00000000..89a79643 --- /dev/null +++ b/labs/portainer/start.sh @@ -0,0 +1 @@ +docker-compose up --remove-orphans -d \ No newline at end of file diff --git a/labs/portainer/stop.sh b/labs/portainer/stop.sh new file mode 100644 index 00000000..356959e4 --- /dev/null +++ b/labs/portainer/stop.sh @@ -0,0 +1 @@ +docker-compose down --remove-orphans \ No newline at end of file