痛点
由于官网并没有我需要版本的镜像,所以我找了taos的github官网:https://github.com/taosdata/TDengine/blob/2.6/packaging/docker/Dockerfile,并对其dockerfile进行修改
下载所需文件
为了以防网络的问题导致东西下载失败
我先去官网下载所需的文件放到dockerfile文件同级目录下,这样打镜像速度也更快
- TDengine-server-2.6.0.24-Linux-x64.tar.gz (直接去tdengine官网下载自己所需的版本)
- tini-amd64 (下载地址从原先的dockerfile文件中可以看到)
- 同理,如果想打包arm架构的,下载相应的arm安装包
Dockerfile
对dockerfile文件修改(把文件修改成自己版本的)
FROM ubuntu:18.04
WORKDIR /root
COPY ./TDengine-server-2.6.0.24-Linux-x64.tar.gz /root/
RUN tar -zxf TDengine-server-2.6.0.24-Linux-x64.tar.gz
WORKDIR /root/
RUN cd /root/TDengine-server-2.6.0.24/ && /bin/bash install.sh -e no && cd /root
RUN rm /root/TDengine-server-2.6.0.24-Linux-x64.tar.gz
RUN rm -rf /root/TDengine-server-2.6.0.24
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get clean && apt-get update && apt-get install -y locales tzdata netcat && locale-gen en_US.UTF-8
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib" \
LC_CTYPE=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8
COPY ./bin/* /usr/bin/
ENV TINI_VERSION v0.19.0
RUN bash -c 'echo -e "Downloading tini-amd64 ..."'
ADD ./tini-amd64 /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--", "/usr/bin/entrypoint.sh"]
CMD ["taosd","taosadapter"]
VOLUME [ "/var/lib/taos", "/var/log/taos", "/corefile" ]
使用命令:docker build --platform linux/amd64 -t tdengine:2.6.0.24 .
打成镜像
docker-compose
下面有一个docker-compose启动的例子,app是一个java的应用,这里注意时区问题,不然查询结果上时间会有问题
version: "3"
services:
app:
container_name: ops-monitor
image: tomcat/monitor:1.0
restart: always
privileged: true
network_mode: "host"
volumes:
- ./ops-monitor/webapps:/usr/local/tomcat/webapps:rw
- ./ops-monitor/server.xml:/usr/local/tomcat/conf/server.xml:rw
#这里要把时区设置成东八区,不然查询时间会有问题
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Asia/Shanghai
tdengine:
container_name: tdengine
image: tdengine:2.6.0.24
restart: always
privileged: true
network_mode: "host"
volumes:
- ./tdengine/taos.cfg:/etc/taos/taos.cfg
#这里要把时区设置成东八区,不然插入数据时间会有问题
environment:
- TZ=Asia/Shanghai