Appearance
net_general
bash
docker network create net_generalmysql_general
bash
docker run -d \
--name mysql_general \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/init:/docker-entrypoint-initdb.d \
--network net_general \
--restart=always \
mysqlbash
docker mysql 警告: 'mbind: Operation not permitted'
解决这个问题就要给docker容器足够的权限去操作进程修改其优先级
添加下列参数
--cap-add SYS_NICEredis_general
bash
docker run -d \
--name redis_general \
-p 6379:6379 \
-v /home/redis/data:/data \
--network net_general \
--restart=always \
redis \
--requirepass 123nacos_general
bash
# 防止cup占用高
docker run -d \
--name nacos_general \
--env-file /home/nacos/custom.env \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
--privileged=true \
--network net_general \
--restart=always \
nacos/nacos-server:v2.1.0-slimnacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.1.0-slim
bash
docker run -d \
--name nacos_general \
--env-file /home/nacos/custom.env \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
--privileged=true \
--network net_general \
--restart=always \
nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3.2-slimNginx
bash
# 获取初始配置
docker cp nginx:/etc/nginx/conf.d //home/nginx/conf/conf.d
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
docker cp nginx:/usr/share/nginx/html /home/nginx/html初始配置
bash
docker run -d \
--name nginx \
-p 80:80 \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
nginxbash
docker run -d \
--name nginx \
-p 80:80 \
-p 443:443 \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
nginxbash
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /home/nginx/conf/conf.d/ssl/nginx.key \
-out /home/nginx/conf/conf.d/ssl/nginx.crtpfd2zh
bash
docker pull byaidu/pdf2zhbash
docker run -d \
--name pdf2zh \
-p 7860:7860 \
byaidu/pdf2zhminio
bash
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=admin123 \
minio/minio server /data --console-address ":9001"nginxWebUI
bash
docker run -itd \
--name nginxWebUI \
-p 8080:8080 \
-v /home/nginxWebUI:/home/nginxWebUI \
-e BOOT_OPTIONS="--server.port=8080" \
cym1102/nginxwebui:latesty
用户名:admin
密码:Admin123PostgreSQL
bash
docker run -d \
--name postgres_0 \
--restart=always \
-e POSTGRES_USER=root \
-e POSTGRES_PASSWORD=123 \
-p 5432:5432 \
-v /home/postgresql/data:/var/lib/postgresql/data \
postgresbash
docker run -d \
--name psql_0 \
-e POSTGRES_USER=root \
-e POSTGRES_PASSWORD=123 \
-p 5432:5432 \
-v /home/Docker/postgresql/data:/var/lib/postgresql/data \
postgresnexus
先复制/nexus-data
bash
sudo docker run -d \
--name nexus \
-u $(id -u):$(id -g) \
-p 8081:8081 \
-v /home/nexus/data:/nexus-data \
-e INSTALL4J_ADD_VM_PARAMS="-Xms128m -Xmx1024m" \
--restart=always \
sonatype/nexus3rancher
==注意端口有偏移== 这个不行:
bash
docker run --privileged -d \
--name rancher \
--restart=unless-stopped \
-p 81:80 \
-p 444:443 \
-v /home/rancher-home/rancher:/var/lib/rancher \
-v /home/rancher-home/log:/var/log \
-v /home/rancher-home/cni:/var/lib/cni \
-v /home/rancher-home/kubelet:/var/lib/kubelet \
rancher/rancher:v2.5.12这个OK
bash
docker run -d --restart=unless-stopped \
--name rancher \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest尝试
bash
docker run -d \
--privileged \
--name rancher1 \
--restart=unless-stopped \
-p 80:80 \
-p 443:443 \
-v /home/rancher-home/rancher:/var/lib/rancher \
-v /home/rancher-home/auditlog:/var/log/auditlog \
rancher/rancher:v2.6.14bash
docker logs rancher1 2>&1 | grep "Bootstrap Password:"Elasticsearch
bash
docker run -d \
--name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "xpack.security.enabled=false" \
-v /home/es/data:/usr/share/elasticsearch/data \
-v /home/es/logs:/usr/share/elasticsearch/logs \
docker.elastic.co/elasticsearch/elasticsearch:8.11.1Kibana
bash
docker run -d \
--name kibana \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \
docker.elastic.co/kibana/kibana:8.11.1clickhouse
bash
docker run -d \
--name clickhouse0 \
-p 8123:8123 \
-p 9000:9000 \
--ulimit nofile=262144:262144 \
-e CLICKHOUSE_USER='root' \
-e CLICKHOUSE_PASSWORD='zx_service_homework_l2yz' \
-v /usr/share/zoneinfo:/usr/share/zoneinfo:ro \
-e TZ=Asia/Shanghai \
clickhouse/clickhouse-server示例sql
sql
-- 1. 创建一个新数据库
-- 我们使用 IF NOT EXISTS 来避免在数据库已经存在时报错。
CREATE DATABASE IF NOT EXISTS demo_db;
-- 2. 切换到新创建的数据库上下文
-- 注意:这个命令在 clickhouse-client 中有效。
-- 如果你使用像 DBeaver 这样的 GUI 工具,你可以直接在图形界面选择数据库。
USE demo_db;
-- 3. 创建一个数据表
-- 这是示例的核心。我们创建一个用于记录用户事件的表。
CREATE TABLE IF NOT EXISTS demo_db.dome_table
(
-- 定义列和它们的数据类型
`event_date` Date, -- 事件发生的日期
`event_time` DateTime, -- 事件发生的精确时间
`user_id` UInt64, -- 用户ID,使用无符号64位整数
`user_name` String, -- 用户名
`event_type` LowCardinality(String), -- 事件类型,使用 LowCardinality 优化存储和查询性能
`event_properties` Map(String, String), -- 事件的属性,使用 Map 类型存储键值对
`ip_address` IPv4 -- 用户的IPv4地址
)
ENGINE = MergeTree() -- 使用 ClickHouse 最常用和最强大的表引擎 MergeTreePARTITION BY toYYYYMM(event_date) -- 按年月对数据进行分区,极大提升按时间范围查询的效率
ORDER BY (event_date, user_id); -- 指定表内数据的物理排序键
-- 4. 插入多行示例数据
-- 使用 INSERT INTO ... VALUES 语法
INSERT INTO demo_db.dome_table VALUES
(today(), now(), 1001, 'Alice', 'login', {'source': 'web', 'country': 'USA'}, '192.168.1.10'),
(today(), now(), 1002, 'Bob', 'view_page', {'page_url': '/products/1', 'referrer': 'google.com'}, '203.0.113.45'),
(today() - 1, now() - 86400, 1001, 'Alice', 'logout', {}, '192.168.1.10'),
(today() - 1, now() - 76400, 1003, 'Charlie', 'signup', {'source': 'campaign_A'}, '198.51.100.2');
-- 5. 查询并验证数据
-- 从表中选择所有列,查看我们刚刚插入的数据。
SELECT * FROM demo_db.dome_table;bash
cat test.json | docker exec -i clickhouse0 clickhouse-client --query="INSERT INTO http_log_db.http_logs FORMAT JSONEachRow"vector
bash
vector validate --config-yaml /etc/vector/vector.yamlyaml
# /etc/vector/vector.yaml
# 针对 Vector v0.41.1 的最终正确配置
# ------------------------------------------------------------------------------
# 1. 数据源 (Source): 使用 v0.41.1 的正确语法
# ------------------------------------------------------------------------------
sources:
json_file_source:
type: file
include:
- /tmp/vectortest.json
- /tmp/vectortest1.json
- /tmp/vectortest2.json
# 新版本正确的参数是 start_at_beginning,值为布尔型 true
# 使用新的推荐参数来代替 start_at_beginning
ignore_checkpoints: true
read_from: "beginning"
# ------------------------------------------------------------------------------
# 2. 转换器 (Transform): 使用新版本推荐的 remap 组件来解析 JSON
# ------------------------------------------------------------------------------
transforms:
parse_json_transform:
# 类型: 'remap' 是 v0.41.1 的标准做法
type: "remap"
# 输入: 来自文件数据源
inputs:
- json_file_source
# 核心: 使用 VRL 语言的 parse_json 函数来解析 .message 字段
source: '. = parse_json!(.message)'
# ------------------------------------------------------------------------------
# 3. 目的地 (Sink): Sink 的配置保持不变
# ------------------------------------------------------------------------------
sinks:
clickhouse_sink:
type: "clickhouse"
# 输入: 来自 remap 转换器
inputs:
- parse_json_transform
# --- ClickHouse 连接信息 ---
endpoint: "http://113.45.186.208:8123"
database: "http_log_db"
table: "http_logs"
# --- 身份验证 (v0.41.1 需要 strategy) ---
auth:
strategy: "basic"
user: "root"
password: "zx_service_homework_l2yz"
# --- 批处理设置 ---
batch:
max_events: 1000
timeout_secs: 3bash
sudo journalctl -u vector -fseata
bash
docker run -d \
--name seata0 \
-p 8091:8091 \
-p 7091:7091 \
-e SEATA_SERVER_HOST=1.95.148.2 \
seataio/seata-server:1.8.0ubuntu
bash
sudo docker volume create ubuntu_0_volume
docker volume ls
docker run -d \
-p 14444:22 \
-v ubuntu_0_volume:/data \
--name ubuntu_0 \
ubuntu:22.04 \
sleep infinity安装 openssh-server docker容器中不能用 systemctl 需要手动启动
bash
/usr/sbin/sshd -D
可能需要创建 /run/sshd 目录创建新用户
bash
useradd -m -s /bin/bash $name
# 添加到sudo
usermod -aG sudo $name
# 设置密码
passwd $name连接
bash
ssh username@ip_host -p $port