mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-26 21:22:16 +08:00
61 lines
1.5 KiB
Docker
61 lines
1.5 KiB
Docker
FROM golang as build
|
|
|
|
# go mod Installation source, container environment variable addition will override the default variable value
|
|
ENV GO111MODULE=on
|
|
ENV GOPROXY=https://goproxy.cn,direct
|
|
|
|
# Set up the working directory
|
|
WORKDIR /Open-IM-Server
|
|
# add all files to the container
|
|
COPY . .
|
|
|
|
WORKDIR /Open-IM-Server/script
|
|
RUN chmod +x *.sh
|
|
|
|
RUN /bin/sh -c ./build_all_service.sh
|
|
|
|
#Blank image Multi-Stage Build
|
|
FROM ubuntu
|
|
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
RUN apt-get update && apt-get install apt-transport-https && apt-get install procps\
|
|
&&apt-get install net-tools
|
|
#Non-interactive operation
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
RUN apt-get install -y vim curl tzdata gawk
|
|
#Time zone adjusted to East eighth District
|
|
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
|
|
|
|
|
|
#set directory to map logs,config file,script file.
|
|
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config","/Open-IM-Server/script","/Open-IM-Server/db/sdk"]
|
|
|
|
#Copy scripts files and binary files to the blank image
|
|
COPY --from=build /Open-IM-Server/script /Open-IM-Server/script
|
|
COPY --from=build /Open-IM-Server/bin /Open-IM-Server/bin
|
|
|
|
# openImApiPort
|
|
EXPOSE 10000
|
|
# openImSdkWsPort
|
|
EXPOSE 30000
|
|
# openImUserPort
|
|
EXPOSE 10100
|
|
# openImFriendPort
|
|
EXPOSE 10200
|
|
# openImOfflineMessagePort
|
|
EXPOSE 10300
|
|
# openImOnlineRelayPort
|
|
EXPOSE 10400
|
|
# openImGroupPort
|
|
EXPOSE 10500
|
|
# openImAuthPort
|
|
EXPOSE 10600
|
|
# openImPushPort
|
|
EXPOSE 10700
|
|
# openImWsPort
|
|
EXPOSE 17778
|
|
|
|
WORKDIR /Open-IM-Server/script
|
|
|
|
CMD ["./docker_start_all.sh"]
|