# 1. mysql
docker pull mysql:8.0.32
docker run -p 13306:3306 -e TZ=America/New_York -e MYSQL_ROOT_PASSWORD=your_pwd -d --name mysql --restart=always -v /opt/dockerdata/mysql/data:/var/lib/mysql mysql:8.0.32
2. redis
第一步:新建redis.conf,写入内容
appendonly yes
requirepass your_pwd
bind 0.0.0.0
第二步:将redis.conf传到/opt/dockerdata/redis/conf目录下
docker pull redis:5.0.12
docker run --name=redis --restart=always -d -p 16379:6379 -v /opt/dockerdata/redis/conf:/data redis:5.0.12 redis-server /data/redis.conf
3. minio
3.1 http版本minio安装
docker pull minio/minio
docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=your_username" \
-e "MINIO_SECRET_KEY=your_pwd" \
-e "TZ=Asia/Shanghai" \
-v /opt/dockerdata/minio/data:/data \
minio/minio server \
/data --console-address ":9090" -address ":9000"
3.2 https版本minio版本安装
第一步:现在阿里云下载域名的证书,要apache版本的:
会得到3个文件:将私钥名称改为private.key,公共证书改为public.crt,第三个文件不用管
再将这两个文件,映射到minio的/root/.minio/certs目录下即可:
docker run -p 9000:9000 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=your_access_key" -e "MINIO_SECRET_KEY=your_secret_key" -e "TZ=Asia/Shanghai" -v /xuhai/volume/minio/data:/data -v /xuhai/volume/minio/crt:/root/.minio/certs minio/minio server /data --console-address ":9090" -address ":9000"
4. clickhouse
docker pull clickhouse/clickhouse-server 实际版本是:24.11.1.2557
拉取配置文件
# 1.启动一个临时容器,为了拿配置文件
docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:latest
# 2.复制配置文件到宿主机
mkdir -p /opt/dockerdata/clickhouse/conf
mkdir -p /opt/dockerdata/clickhouse/data
mkdir -p /opt/dockerdata/clickhouse/log
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /opt/dockerdata/clickhouse/conf/users.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /opt/dockerdata/clickhouse/conf/config.xml
# 3.删除临时容器
docker rm -f temp-clickhouse-server
修改users.xml(这样设置后,连接数据库时,username和password都不填也能连接上,不知道为什么,也可能需要将default作为用户名进行登录)
<users>
<default>
<password>你的密码</password>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
<access_management>1</access_management>
<named_collection_control>1</named_collection_control>
</default>
</users>
修改config.xml(可能不设置也可以,但我没试过)
<timezone>Asia/Shanghai</timezone>
将config.xml和users.xml都保存到/opt/dockerdata/clickhouse/conf下
执行:
docker run -d \
--name=clickhouse \
-p 8123:8123 \
-p 9001:9000 \
-p 9009:9009 \
--restart=always \
--privileged=true \
--ulimit nofile=262144:262144 \
-e CLICKHOUSE_DEFAULT_TIME_ZONE='Asia/Shanghai' \
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
-e CLICKHOUSE_DB=lianghua \
-e TZ=Asia/Shanghai \
--volume=./conf/config.xml:/etc/clickhouse-server/config.xml \
--volume=./conf/users.xml:/etc/clickhouse-server/users.xml \
--volume=./log:/var/log/clickhouse-server \
--volume=./data:/var/lib/clickhouse \
clickhouse/clickhouse-server:latest
默认的9000端口会与minio的9000端口冲突,所以改成了9001
注意:clickhouse没有自增id,如果要自增,需要自己维护