update images.

pull/2920/head
Monet Lee 10 months ago
parent 0db7d64852
commit 6807c83219

@ -17,7 +17,7 @@ RUN go mod tidy
RUN go build -o _output/openim-api ./cmd/openim-api RUN go build -o _output/openim-api ./cmd/openim-api
# Using Alpine Linux with Go environment for the final image # Using Alpine Linux for the final image
FROM alpine:latest FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
@ -30,7 +30,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "_output/openim-api"] ENTRYPOINT ["sh", "-c", "_output/openim-api"]

@ -1,6 +1,5 @@
# Use Go 1.22 Alpine as the base image for building the application # Use Go 1.22 Alpine as the base image for building the application
FROM golang:1.22-alpine AS builder FROM golang:1.22-alpine AS builder
# Define the base directory for the application as an environment variable # Define the base directory for the application as an environment variable
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -14,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-crontask RUN go build -o _output/openim-crontask ./cmd/openim-crontask
# Optionally build your application if needed
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image # Using Alpine Linux for the final image
FROM golang:1.22-alpine FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -37,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-crontask: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-crontask"]

@ -1,6 +1,5 @@
# Use Go 1.22 Alpine as the base image for building the application # Use Go 1.22 Alpine as the base image for building the application
FROM golang:1.22-alpine AS builder FROM golang:1.22-alpine AS builder
# Define the base directory for the application as an environment variable # Define the base directory for the application as an environment variable
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -14,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-msggateway RUN go build -o _output/openim-msggateway ./cmd/openim-msggateway
# Optionally build your application if needed
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image # Using Alpine Linux for the final image
FROM golang:1.22-alpine FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -37,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-msggateway: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/mo3et/gomake@v0.0.74
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-msggateway"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-msgtransfer
# Optionally build your application if needed RUN go build -o _output/openim-msgtransfer ./cmd/openim-msgtransfer
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-msgtransfer: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-msgtransfer"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-push
# Optionally build your application if needed RUN go build -o _output/openim-push ./cmd/openim-push
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-push: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-push"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-auth
# Optionally build your application if needed RUN go build -o _output/openim-rpc-auth ./cmd/openim-rpc/openim-rpc-auth
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-auth: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-auth"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-conversation
# Optionally build your application if needed RUN go build -o _output/openim-rpc-conversation ./cmd/openim-rpc/openim-rpc-conversation
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-conversation: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-conversation"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-friend
# Optionally build your application if needed RUN go build -o _output/openim-rpc-friend ./cmd/openim-rpc/openim-rpc-friend
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-friend: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-friend"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-group
# Optionally build your application if needed RUN go build -o _output/openim-rpc-group ./cmd/openim-rpc/openim-rpc-group
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-group: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-group"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-msg
# Optionally build your application if needed RUN go build -o _output/openim-rpc-msg ./cmd/openim-rpc/openim-rpc-msg
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-msg: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-msg"]

@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-third
# Optionally build your application if needed RUN go build -o _output/openim-rpc-third ./cmd/openim-rpc/openim-rpc-third
RUN mage build ${BINS} || true
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine # Using Alpine Linux for the final image
FROM alpine:latest
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +33,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-third: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-third"]

@ -13,21 +13,16 @@ ENV GOPROXY=https://goproxy.io,direct
# Copy all files from the current directory into the container # Copy all files from the current directory into the container
COPY . . COPY . .
RUN go mod download RUN go mod tidy
# Install Mage to use for building the application RUN go build -o _output/openim-rpc-user ./cmd/openim-rpc/openim-rpc-user
RUN go install github.com/magefile/mage@v1.15.0
ENV BINS=openim-rpc-user
# Optionally build your application if needed # Using Alpine Linux for the final image
RUN mage build ${BINS} || true FROM alpine:latest
# Using Alpine Linux with Go environment for the final image
FROM golang:1.22-alpine
# Install necessary packages, such as bash # Install necessary packages, such as bash
RUN apk add bash RUN apk add --no-cache bash
# Set the environment and work directory # Set the environment and work directory
ENV SERVER_DIR=/openim-server ENV SERVER_DIR=/openim-server
@ -36,22 +31,7 @@ WORKDIR $SERVER_DIR
# Copy the compiled binaries and mage from the builder image to the final image # Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
# COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/
RUN echo -e "serviceBinaries:\n openim-rpc-user: 1 \n" \
> $SERVER_DIR/start-config.yml && \
echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \
echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml
RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1
# Set the command to run when the container starts # Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] ENTRYPOINT ["sh", "-c", "_output/openim-rpc-user"]
Loading…
Cancel
Save