docker pull prom/node-exporter
docker run -d --name node-exporter --restart=always -p 39100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter
docker pull google/cadvisor
docker run -d --name=cadvisor --restart=always -p 38080:8080 \
-v /:/rootfs:ro \
-v /var/run:/var/run:ro \
-v /sys:/sys:ro \
-v /var/lib/docker/:/var/lib/docker:ro \
-v /dev/disk/:/dev/disk:ro \
google/cadvisor
docker pull prom/mysqld-exporter:v0.14.0
docker run -d --name mysqld-exporter-13306 --restart=always -p 39104:9104 -e DATA_SOURCE_NAME="exporter:123456@(127.0.0.1:13306)/" prom/mysqld-exporter:v0.14.0
docker pull oliver006/redis_exporter
docker run -d --name redis-exporter-16379 --restart=always -p 39121:9121 oliver006/redis_exporter --redis.addr redis://127.0.0.1:16379
mkdir /home/grafana-storage
chmod 777 -R /home/grafana-storage
docker pull grafana/grafana
docker run -d --name grafana --restart=always -p 33000:3000 -v /home/grafana-storage:/var/lib/grafana grafana/grafana
mkdir /home/prometheus
global: scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 60s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093
rule_files:
scrape_configs:
docker pull prom/prometheus
docker run -d --name prometheus --restart=always -p 39090:9090 -v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
install minikube-linux-amd64 /usr/local/bin/minikube
curl -Lo kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
&& chmod +x kubectl && sudo mv kubectl /usr/local/bin/
minikube version
minikube start --force --image-mirror-country=cn
kubectl get pods -A
kubectl create deployment nginx --image=nginx
kubectl get deployments
kubectl describe deployments
kubectl get pod
kubectl logs nginx-748c667d99-k2k5c
默认情况下,Pod只能通过Kubernetes集群中的内部IP地址访问。要使容器可以从Kubernetes虚拟网络的外部访问,您必须将Pod暴露为Kubernetes Service。 使用kubectl expose命令将Pod暴露给公网, 会将内部端口80挂载到宿主机的随机一个5位数端口
kubectl expose deployment nginx --type=LoadBalancer --port=80
kubectl get services
minikube service nginx
curl 192.168.49.2:30327
kubectl port-forward --address 0.0.0.0 service/nginx 8102:80
或
kubectl port-forward --address 0.0.0.0 pod/nginx-748c667d99-k2k5c 8102:80
minikube dashboard &
kubectl proxy --address='0.0.0.0' --disable-filter=true &
访问:http://47.97.4.204:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
kubectl run nginx --image nginx:latest
kubectl get pod
kubectl port-forward --address 0.0.0.0 service/nginx 8102:80
kubectl delete service nginx
kubectl delete deployment nginx
kubectl delete pod nginx
docker pull nacos/nacos-server
docker run --env MODE=standalone --name nacos -d -p 18848:8848 nacos/nacos-server
docker pull nginx:1.22.1
docker run --name nginx -p 80:80 -d nginx:1.22.1
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/nginx.conf
docker cp nginx:/etc/nginx/conf.d/ /home/nginx/conf.d/
docker cp nginx:/usr/share/nginx/html/ /home/nginx/html/
docker cp nginx:/var/log/nginx/ /home/nginx/logs/
docker stop nginx
docker rm nginx
docker run -p 80:80 -p 8889:8889 \
-v /home/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /etc/localtime:/etc/localtime \
--name nginx \
--restart=always \
-d nginx:1.22.1
docker pull mysql:5.7
docker run -p 13306:3306 --name mysql --restart=always --privileged=true \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/logs:/logs \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
大多数情况下,启动数据库容器,都需要将数据卷挂载到容器外,这样,容器被删除了,数据也不会丢失。
docker pull mysql:8.0.31
docker run -p 23306:3306 --name mysql8 --restart=always --privileged=true \
-v /home/mysql8/conf:/etc/mysql/conf.d \
-v /home/mysql8/log:/var/log \
-v /home/mysql8/data:/var/lib/mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=mysqlQwer8! -d mysql:8.0.31 \
--lower_case_table_names=1
大多数情况下,启动数据库容器,都需要将数据卷挂载到容器外,这样,容器被删除了,数据也不会丢失。
docker pull postgres:15.3
docker run -d -p 15432:5432 --name postgres -v /home/postgresql/data:/var/lib/postgresql/data --restart=always --privileged=true -e POSTGRES_PASSWORD=123456 -e ALLOW_IP_RANGE=0.0.0.0/0 postgres:15.3
docker pull redis
docker run -di --name redis -p 16379:6379 redis
docker run -di --name redis-pwd -p 26379:6379 redis --requirepass 123456
docker run --name redis7 -p 36379:6379 \
-d --restart=always --privileged=true \
-v /home/redis7/redis.conf:/etc/redis/redis.conf \
-v /home/redis7/data:/data \
-e TZ=Asia/Shanghai \
-d redis:7.0.12 redis-server /etc/redis/redis.conf
docker pull tomcat
docker run -d -p 18080:8080 --name tomcat tomcat
docker pull minio/minio
docker run --name minio-gpl -p 29000:9000 -p 29001:9001 \
-d --restart=always --privileged=true \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456789" \
-v /home/minio-gpl/data:/data \
-v /home/minio-gpl/config:/root/.minio \
minio/minio server /data --address ':9000' --console-address ':9001'
docker pull minio/minio:RELEASE.2021-04-22T15-44-28Z
docker run --name minio -p 9000:9000 \
-d --restart=always --privileged=true \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456789" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio:RELEASE.2021-04-22T15-44-28Z server /data
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -e "SQL_DSN=one-api:123456@tcp(47.97.4.204:13306)/one-api" -e "REDIS_CONN_STRING=redis://11@47.97.4.204:16379" -e "SYNC_FREQUENCY=60" -v /home/ubuntu/data/one-api:/data justsong/one-api
docker run --name chatgpt-next-web -d -p 3001:3000 \
-e OPENAI_API_KEY="sk-ZPw1zjYRJDoKxuOyC95bAc1e86Ad4d2484E4C824FeB056Dc" \
-e CODE="qwer123456789" \
-e BASE_URL="http://47.97.4.204:3000" \
yidadaa/chatgpt-next-web
docker pull ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.8.8
# 直接挂载容器工作目录(注:需要将config.yml复制到/usr/local/mayfly-go文件夹下))
docker run -d --name mayfly-go -v /home/mayfly-go:/mayfly -p 18888:18888 ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.8.8
docker pull jenkins/jenkins:2.452.3-lts
docker run -d -u root -p 8080:8080 -p 50000:50000 \
--restart=always --name jenkins \
-v /home/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ=Asia/Shanghai \
jenkins/jenkins:2.452.3-lts
docker pull portainer/portainer
docker run -d -p 18000:8000 -p 19000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
新版
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /home/portainer/data:/data portainer/portainer-ce:2.19.5
用于构建镜像,类似maven pom文件,IDEA有插件支持远程构建。
使用YML文件定义和运行多容器应用。
容器编排
-v /etc/localtime:/etc/localtime
docker exec -it 容器ID /bin/sh
程序员,主Java,目前头发还不错,还自助染了个小色。
还是个拍照的,拍的照片又大又甜。