当前位置:   article > 正文

【docker】Dockerfile制作基础镜像之:不同container间调用 | 容器内可以通过bash控制容器外docker container | docker-go容器调用python容器

【docker】Dockerfile制作基础镜像之:不同container间调用 | 容器内可以通过bash控制容器外docker container | docker-go容器调用python容器

一、业务场景

1、场景说明

前提所有服务都是使用docker部署
我们需要再go微服务,调用python的脚本
因为都是 docker 的 container,所以就涉及跨容器的间的一个调用

在这里插入图片描述

2、模拟代码

下面是模拟代码

# 进入容器1
docker exec -it container1 /bin/sh
# 执行跨容器调用脚本
docker exec trading-platform python /app/xxx.py $1
  • 1
  • 2
  • 3
  • 4

二、镜像制作

1、Dockerfile -> docker image

1.1 dockerfile 源码

#lpine 作为基础镜像
FROM alpine:latest

# 设置工作目录
WORKDIR /root

# 安装依赖
RUN apk update && \
    apk add --no-cache \
        ca-certificates \
        openssl \
        curl \
        tar \
        xz \
        && \
    update-ca-certificates

# 下载并安装 Docker 客户端二进制文件
ENV DOCKER_VERSION=20.10.3
RUN curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz -o docker.tgz && \
    tar -xzvf docker.tgz --strip 1 -C /usr/local/bin docker/docker && \
    rm docker.tgz

# 验证 Docker 安装
RUN docker --version

# 清理缓存
RUN rm -rf /var/cache/apk/*

# 定义入口点
ENTRYPOINT ["docker"]


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

将Dockefile编译成docker image

docker build -t alpine-with-docker .
  • 1

然后推送到指定的仓库

 docker tag [imageId] registry.cn-beijing.aliyuncs.com/ctra_test/alpine-with-docker
 docker push registry.cn-beijing.aliyuncs.com/ctra_test/alpine-with-docker
  • 1
  • 2

2、基础镜像

Dockerfile如何调用已经生成的基础镜像

Dockerfile

FROM registry.cn-beijing.aliyuncs.com/ctra_test/alpine-with-docker

RUN apk update && apk add tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


COPY ./app /app/
COPY ./script/script.sh /app/script/script.sh
COPY ./script/script-declare.sh /app/script/script-declare.sh
COPY ./etc/ark_data_asset_api.yaml /app/etc/config.yaml
workdir /app/
ENTRYPOINT ["./app"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/624634
推荐阅读
相关标签
  

闽ICP备14008679号