Docker 各系統安裝
各系統安裝連結
- zabbix
https://www.zabbix.com/documentation/4.4/zh/manual/installation/containers
https://github.com/zabbix/zabbix-docker/tree/6.4/Dockerfiles/web-nginx-pgsql - elkhttps://github.com/deviantony/docker-elk
https://github.com/deviantony/docker-elk - smokeping
https://cloud.tencent.com/developer/article/1703797 - jenkins
https://hub.docker.com/_/jenkins/ - wekan
https://github.com/wekan/wekan/wiki/Docker
https://wekan.github.io/wekan-doc/ (文件) - postgresSQL
https://hub.docker.com/_/postgres
https://cde566.medium.com/docker-compose%E5%89%B5%E5%BB%BApostgresql-7f3f9519fa20 - powerdns
https://blog.csdn.net/sdhzdtwhm/article/details/135910057
Jenkins
Jenkins - Official Image | Docker Hub
jenkins/jenkins - Docker Image | Docker Hub
docker run -d \
-p 8080:8080 -p 50000:50000 \
-v ~/jenkins/home:/var/jenkins_home \
--name jenkins \
jenkins/jenkins:lts
ps. jenkins 抓取一定要帶版號不然會報錯
Using default tag: latest
Error response from daemon: manifest for jenkins:latest not found: manifest unknown: manifest unknown
docker pull jenkins/jenkins:lts
ps. 要安裝軟體需要使用root 登入
docker exec -u root -it jenkins sh
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
sudo chown -R 1000:1000 {mount jenkins home path}
ps.使用nginx revers proxy 現設定問題,需要設定 proxy_set_header
Reverse proxy configuration (jenkins.io)
server {
listen 80;
server_name tomcat.srou.com;
location / {
sendfile off;
proxy_pass http://192.168.100.4:10031/;
proxy_redirect default;
proxy_http_version 1.1;
# Required for Jenkins websocket agents
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
#this is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
proxy_request_buffering off; # Required for HTTP CLI commands
proxy_set_header Connection ""; # Clear for keepalive
}
}
gitlab
docker run -d \
--name gitlab \
-p 8080:80 -p 443:443 -p 22:22 \
--privileged \
--restart always \
-v ~/gitlab/config:/etc/gitlab \
-v ~/gitlab/logs:/var/log/gitlab \
-v ~/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
-d : 讓容器(Container)在背景執行
--name : 指定容器(Container)的名稱
-p : 指定主端(Host)對應客端(Quest)的連接埠
--privileged : 容器(Container)内的 root 拥有真正的 root 权限
-restart : 設定為 restart,則容器在異常停止後,會自動重新起動
-v : 將容器(Container)內需永續保存的目錄,連結至主端的目錄
docker-compose.yml
docker-compose up -d
version: "3.6"
services:
gitlab:
image: gitlab/gitlab-ce:latest
restart: always
privileged: true
ports:
- '8080:80'
- '443:443'
- '22:22'
volumes:
- '~/gitlab/data:/var/opt/gitlab'
- '~/gitlab/logs:/var/log/gitlab'
- '~/gitlab/config:/etc/gitlab'
Tomcat
Docker部署tomcat出現404錯誤 - 台部落 (twblogs.net)
新版tomcat 不提供manager ,需手動複製,webapps.dist copy -> webapps
PostgresSQL
version: "3.7"
services:
db:
image: postgres:13.2-alpine
restart: always
environment:
POSTGRES_DB: postgres
POSTGRES_USER: $USER_NAME #postgres
POSTGRES_PASSWORD: $PASSWORD #1234
PGDATA: /var/lib/postgresql/data
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "5432:5432"
pgadmin:
image: dpage/pgadmin4:latest
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: $USER_EMAIL #xxx@gmail
PGADMIN_DEFAULT_PASSWORD: $PASSWORD #abcd
PGADMIN_LISTEN_PORT: 80
ports:
- "8080:80"
volumes:
- pgadmin-data:/var/lib/pgadmin
links:
- "db:pgsql-server"
volumes:
db-data:
pgadmin-data: