Centos image stacks for develop and deploy components
blog-Use Dockerfile to build develop image
Target: save my day Use dockerfile and compose file to build docker image and run develop environment.
extend blog: Use Docker Compose to start hdfs cluster locally
Use Docker Compose to start zookeeper cluster locally
-
deployments
- compose: deployment on docker compose
-
Dockerfiles
- system: centos basic image
- dev: development env such as golang, java, python, nodejs
- frontend: frontend service such as: vue admin, ant design
- backend: backend service such as: zk, mysql, redis
- emr: bigdata component, such as jupyter, hue
- net: for network debug
-
Makefile
- Makefile.vars.repo: software repo
- Makefile.vars: service version
- Makefile: image build, push and service deploy single cmd
| type | component/image name | build command | feature |
|---|---|---|---|
| basic | base | # full centos base image make build_base |
centos8, yum repo(tsinghua), s6, oh-my-zsh, crontab |
| minimal | # minimal centos base image make build_minimal # build centos7 version make build_minimal_7 |
centos, yum repo(tsinghua), s6, crontab | |
| develop | golang | make build_dev_golang | golang 1.19 |
| java | # full, include java, maven, gradle make build_dev_java # minimal, only include java make build_dev_java_minimal |
java develop env openjdk JAVA_HOME: jdk8 JDK_HOME: jdk11 for vscode java extension maven: 3.8.4 gradle: 7.0.2 |
|
| python | make build_dev_python | python develop env miniforge: 4.13.0 python: 3.8 |
|
| nodejs | make build_dev_nodejs | nodejs develop env nodejs: v16.15.0 |
|
| full | make build_dev_full | include all develop env above | |
| frontend | vue admin | make build_vue_admin | vue-admin 4.4.0 |
| ant design | make build_ant_design | ant-design 5.2.0 | |
| middleware | mysql | make build_mysql | mysql 8.0.27 |
| postgresql | make build_pgsql | postgresql 14 | |
| redis | make build_redis | redis 7.0-rc2 | |
| mongodb | make build_mongo | mongo 6.0.0 | |
| prometheus | make build_prometheus | prometheus 2.33.4 alertmanager 0.23.0 pushgateway 1.4.3 node exporter 1.3.1 |
|
| grafana | make build_grafana | grafana 8.4.2 | |
| zookeeper | make build_zookeeper | zookeeper 3.9.1 | |
| kafka | make build_kafka | kafka 3.2 | |
| nginx | make build_nginx | nginx 1.23.2 | |
| emr | airflow | make build_airflow | airflow 2.7.3 |
| hdfs | make build_hdfs | hdfs 3.3.2 | |
| hive | make build_hive | hive 3.1.2 | |
| knox | make build_knox | knox 1.6.1 | |
| hdfs_full | make build_hdfs | hdfs 3.3.2 knox 1.6.1 hive 3.1.2 spark 3.2 flink 1.15 |
|
| hue | make build_hue | hue 4.3.0 fix branch: dev_bugfix | |
| jupyter | make build_jupyter | jupyterlab 3.3.3 notebook 6.4.10 |
|
| zeppelin | make build_zeppelin | zeppelin 0.10.1 | |
| presto | make build_presto | presto 0.275 | |
| trino | make build_trino | trino 403 | |
| flink | make build_flink | flink 1.15 | |
| spark | make build_spark | spark 3.4.1 | |
| superset | make build_superset | superset 2.0.0 | |
| azkaban | make build_azkaban | azkaban master branch | |
| prefect | make build_prefect | prefect 2.7.7 | |
| dolphinscheduler | make build_dolphinscheduler | dolphinscheduler 3.1.4 | |
| datalink | make build_datalink | datalink dev branch | |
| elasticsearch | make build_es | elasticsearch 8.4.1 | |
| kibana | make build_kibana | kibana 8.4.1 | |
| atlas | make build_atlas | atlas 2.2.0 | |
| clickhouse | make build_clickhouse | clickhouse 21.7.8 | |
| doris | make build_doris | doris 2.0.2 | |
| starrocks | make build_starrocks | starrocks 2.5.3 | |
| minio | make build_minio | minio release | |
| net | xrdp | make build_xrdp | centos with xrdp |
| easyconnect | make build_ec | easyconnect 7.6.7.3 clash 1.10.6 firefox |
|
| entertainment | navidrome | make build_navidrome | navidrome |
note: build image & run container defail command refer: Makefile
you can also pull these image from dockerhub, no need to build locally, just execute command in Makefile with REPO var. e.g.
# dev_full
REPO=mzsmieli make run_dev_full
# will pull mzsmieli/centos:base8_dev_full_1.0
# jupyter
REPO=mzsmieli make run_jupyter
# will pull mzsmieli/centos:base8_jupyter3.3
# nacos
REPO=mzsmieli make run_nacos_mysql
# will pull mzsmieli/centos:minimal8_mysql8 and mzsmieli/centos:base8_nacos2.1.2| type | service | run command | feature |
|---|---|---|---|
| dev tools | code server | REPO=mzsmieli make run_code_server | code server: http://localhost:8080 |
| oauth server | REPO=mzsmieli SERVER_HOST=server_host make run_oauth_server | oauth client: http://${server_host}:19094 | |
| middleware | zookeeper | REPO=mzsmieli make run_zookeeper_cluster | zookeeper cluster(3 node) connect on host: zkCli.sh -server localhost:12181 refer |
| kafka | REPO=mzsmieli make run_kafka_cluster | kafka cluster(3 node) | |
| nacos | REPO=mzsmieli make run_nacos_mysql | nacos+mysql address: http://localhost:8848 |
|
| prometheus+grafana | REPO=mzsmieli make run_prometheus_grafana | grafana: http://localhost:3000 prometheus: http://localhost:3001 |
|
| kafka+efak | REPO=mzsmieli make run_kafka_efak | efak: http://localhost:38042 admin/123456 |
|
| emr | hadoop | REPO=mzsmieli make run_hdfs_cluster | hadoop cluster hdfs: http://localhost:8443/gateway/sandbox/hdfs yarn: http://localhost:8443/gateway/sandbox/yarn hive: localhost:10000 mysql: localhost:33306 |
| hue | REPO=mzsmieli make run_hue | hue: http://localhost:8281 | |
| hue+hdfs+hive | REPO=mzsmieli make run_hue_hive | hue: http://localhost:8281 | |
| hue+hdfs+hive+presto | REPO=mzsmieli make run_hue_presto | hue: http://localhost:8281 | |
| azkaban | REPO=mzsmieli make run_azkaban | azkaban web: http://localhost:8020 | |
| datalink | REPO=mzsmieli make run_datalink_singleton | datalink: http://localhost:18080 admin/admin |
|
| clickhouse | REPO=mzsmieli make run_clickhouse_cluster | 3 clickhouse nodes: localhost:18123,localhost:28123,localhost:38123 | |
| starrocks | REPO=mzsmieli make run_starrocks_cluster | 3 starrocks nodes, master fe: localhost:19030 | |
| doris | REPO=mzsmieli make run_doris_cluster | 3 doris nodes,master fe: localhost:19030 | |
| es+kibana | REPO=mzsmieli make run_es_kibana | es: http://localhost:9200 kibana: http://localhost:5601 |
|
| flink | REPO=mzsmieli make run_flink | flink ui: http://localhost:8081 |