要释放的专用docker容器
我使用的是Dockerfile多级配置,类似于下面的配置要释放的专用docker容器,docker,docker-compose,dockerhub,vapor,Docker,Docker Compose,Dockerhub,Vapor,我使用的是Dockerfile多级配置,类似于下面的配置 FROM swift:4.1 WORKDIR /app COPY . . RUN swift build --configuration release && mv `swift build -c release --show-bin-path` /build/bin FROM ubuntu:16.04 RUN apt-get -qq update && apt-get install -y \
FROM swift:4.1
WORKDIR /app
COPY . .
RUN swift build --configuration release && mv `swift build -c release --show-bin-path` /build/bin
FROM ubuntu:16.04
RUN apt-get -qq update && apt-get install -y \
libicu55 libxml2 libbsd0 libcurl3 libatomic1 wget && rm -r /var/lib/apt/lists/*
RUN /bin/bash -c "$(wget -qO- https://apt.vapor.sh)"
RUN wget -q https://repo.vapor.codes/apt/keyring.gpg -O- | apt-key add -
RUN apt-get update && apt-get install swift vapor -y
WORKDIR /app
COPY --from=builder /build/bin .
COPY --from=builder /build/lib/* /usr/lib/
EXPOSE 3000
ENTRYPOINT ./Run serve -e prod -b 0.0.0.0 -p 3000
我目前正在使用它在虚拟服务器中部署我的服务,由于其低性能,构建项目需要花费很长时间
在docker hub中建立并上传建设者的图像结果到私有回购协议中,这样我就可以在本地机器上完成这项工作,这是一种良好的做法吗
我可以在虚拟服务器中执行第二步吗?这意味着:
FROM myPrivateImageBuiltLocally as image
WORKDIR /app
COPY . .
FROM ubuntu:16.04
RUN apt-get -qq update && apt-get install -y \
libicu55 libxml2 libbsd0 libcurl3 libatomic1 wget && rm -r /var/lib/apt/lists/*
RUN /bin/bash -c "$(wget -qO- https://apt.vapor.sh)"
RUN wget -q https://repo.vapor.codes/apt/keyring.gpg -O- | apt-key add -
RUN apt-get update && apt-get install swift vapor -y
WORKDIR /app
COPY --from=builder /build/bin .
COPY --from=builder /build/lib/* /usr/lib/
EXPOSE 3000
ENTRYPOINT ./Run serve -e prod -b 0.0.0.0 -p 3000
是的,你能做到。您不必在本地构建它。您可以使用dockerhub的自动生成功能。它是这样工作的 1) 。将代码推送到github/bitbucket 2). 在dockerhub中创建新图像并映射到github repo 每次将新提交推送到github repo时,这将自动构建映像 您还可以查看所有的统计信息,如构建日志、成功或失败、下载次数等 参考: