使用shell脚本构建镜像并推送到harbor

  1. 准备Dockerfile

FROM python:3.6.9-slim-buster
ADD . /root/darknode/tor/tor_nodes
RUN cd /root/darknode/tor && mkdir consensus_tar consensus descriptors_tar descriptors
WORKDIR /root/darknode/tor/tor_nodes
RUN /usr/local/bin/python -m pip install -r requirement.txt \
                                         -i https://pypi.tuna.tsinghua.edu.cn/simple \
                                         --trusted-host pypi.tuna.tsinghua.edu.cn

  1. 编写shell脚本

#!/bin/bash

function startDocker() {
  echo "clear history images and container!"
  docker images -a | grep node | awk '{ print $3 }' | xargs docker rmi -f
  docker ps -a |grep $container_name | awk '{ print $1 }' | xargs docker stop
  docker ps -a |grep $container_name | awk '{ print $1 }' | xargs docker rmi -f
  docker images -a | grep $container_name | awk '{ print $3 }' | xargs docker rmi -f
  echo
  echo "start build $image_name"
  docker build -t $image_name .
  echo
  echo "start tag remote name"
  remote_image="$harbor_host_port/$harbor_repository/$image_name"
  docker tag $image_name $remote_image
  echo
  echo "start login harbor"
  docker login -u $harbor_username -p $harbor_password $harbor_host_port
  echo "start push $remote_image"
  docker push  $remote_image
  echo "test container run command: 'docker run -itd -h $container_name --restart=always --name=$container_name $image_name /bin/bash'"
  echo "test pull remote_image command: 'docker pull remote_image'"
}

function main() {
    echo
    startDocker
}

harbor_host_port="172.16.0.120:30002"
harbor_username="admin"
harbor_password="Harbor12345"
harbor_repository="darknet-target"
image_name="tor_nodes:latest"
container_name="tor_nodes"

main

  1. 奔跑吧兄弟!

bash start.sh
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值