download_images.sh 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #!/usr/bin/env bash
  2. #
  3. # Copyright O Corp. All Rights Reserved.
  4. #
  5. # SPDX-License-Identifier: Apache-2.0
  6. #
  7. # Detecting whether can import the header file to render colorful cli output
  8. if [ -f ../header.sh ]; then
  9. source ../header.sh
  10. elif [ -f scripts/header.sh ]; then
  11. source scripts/header.sh
  12. else
  13. echo_r() {
  14. echo "$@"
  15. }
  16. echo_g() {
  17. echo "$@"
  18. }
  19. echo_b() {
  20. echo "$@"
  21. }
  22. fi
  23. # pull fabric images
  24. ARCH=`uname -m | sed 's|i686|x86|' | sed 's|x64|x86_64|'`
  25. BASEIMAGE_RELEASE=0.3.2
  26. BASE_VERSION=1.0.5
  27. PROJECT_VERSION=1.0.5
  28. IMG_TAG=1.0.5
  29. HLF_VERSION=1.0.5
  30. BASEIMAGE_RELEASE_1_1=0.4.6
  31. BASE_VERSION_1_1=1.1.0
  32. PROJECT_VERSION_1_1=1.1.0
  33. IMG_TAG_1_1=1.1.0
  34. HLF_VERSION_1_1=1.1.0 # TODO: should be the same with src/common/utils.py
  35. BASEIMAGE_RELEASE_1_4=0.4.14
  36. BASE_VERSION_1_4=1.4.0
  37. PROJECT_VERSION_1_4=1.4.0
  38. IMG_TAG_1_4=1.4.0
  39. HLF_VERSION_1_4=1.4.0 # TODO: should be the same with src/common/utils.py
  40. echo_b "Downloading fabric images from DockerHub...with tag = ${IMG_TAG}... need a while"
  41. # TODO: we may need some checking on pulling result?
  42. for IMG in peer tools orderer ca ccenv; do
  43. HLF_IMG=hyperledger/fabric-${IMG}:$ARCH-$IMG_TAG
  44. if [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ]; then # not exist
  45. docker pull ${HLF_IMG}
  46. else
  47. echo_g "${HLF_IMG} already exist locally"
  48. fi
  49. done
  50. HLF_IMG=hyperledger/fabric-baseimage:$ARCH-$BASEIMAGE_RELEASE
  51. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  52. HLF_IMG=hyperledger/fabric-baseos:$ARCH-$BASEIMAGE_RELEASE
  53. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  54. # Only useful for debugging
  55. # docker pull yeasy/hyperledger-fabric
  56. echo_b "===Re-tagging fabric images to *:${HLF_VERSION}* tag"
  57. for IMG in peer tools orderer ca; do
  58. HLF_IMG=hyperledger/fabric-${IMG}
  59. docker tag ${HLF_IMG}:$ARCH-$IMG_TAG ${HLF_IMG}:${HLF_VERSION}
  60. done
  61. echo_b "Downloading fabric images from DockerHub...with tag = ${IMG_TAG1_1}... need a while"
  62. # TODO: we may need some checking on pulling result?
  63. for IMG in peer tools orderer ca ccenv; do
  64. HLF_IMG=hyperledger/fabric-${IMG}:$ARCH-$IMG_TAG_1_1
  65. if [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ]; then # not exist
  66. docker pull ${HLF_IMG}
  67. else
  68. echo_g "${HLF_IMG} already exist locally"
  69. fi
  70. done
  71. HLF_IMG=hyperledger/fabric-baseimage:$ARCH-$BASEIMAGE_RELEASE_1_1
  72. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  73. HLF_IMG=hyperledger/fabric-baseos:$ARCH-$BASEIMAGE_RELEASE_1_1
  74. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  75. echo_b "===Re-tagging fabric images to *:${HLF_VERSION_1_1}* tag"
  76. for IMG in peer tools orderer ca; do
  77. HLF_IMG=hyperledger/fabric-${IMG}
  78. docker tag ${HLF_IMG}:$ARCH-$IMG_TAG_1_1 ${HLF_IMG}:${HLF_VERSION_1_1}
  79. done
  80. echo_b "Downloading fabric images from DockerHub...with tag = ${IMG_TAG1_4}... need a while"
  81. # TODO: we may need some checking on pulling result?
  82. for IMG in peer orderer ca; do
  83. HLF_IMG=hyperledger/fabric-${IMG}:$IMG_TAG_1_4
  84. if [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ]; then # not exist
  85. docker pull ${HLF_IMG}
  86. else
  87. echo_g "${HLF_IMG} already exist locally"
  88. fi
  89. done
  90. HLF_IMG=hyperledger/fabric-ccenv:$IMG_TAG_1_4
  91. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  92. docker tag ${HLF_IMG}:$IMG_TAG_1_4 ${HLF_IMG}:latest
  93. HLF_IMG=hyperledger/fabric-baseos:amd64-$BASEIMAGE_RELEASE_1_4
  94. [ -z "$(docker images -q ${HLF_IMG} 2> /dev/null)" ] && docker pull ${HLF_IMG}
  95. echo_b "Downloading images for fabric explorer"
  96. for IMG in mysql:5.7 yeasy/blockchain-explorer:0.1.0-preview; do
  97. if [ -z "$(docker images -q ${IMG} 2> /dev/null)" ]; then # not exist
  98. docker pull ${IMG}
  99. else
  100. echo_g "${IMG} already exist locally"
  101. fi
  102. done
  103. # TODO: fix this if there's official images
  104. IMG_TAG=1.0.4
  105. echo_b "Downloading and retag images for kafka/zookeeper separately, as they are still v1.0.4"
  106. for IMG in kafka zookeeper; do
  107. HLF_IMG=hyperledger/fabric-${IMG}
  108. if [ -z "$(docker images -q ${HLF_IMG}:${HLF_VERSION} 2> /dev/null)" ]; then # not exist
  109. docker pull ${HLF_IMG}:$ARCH-$IMG_TAG
  110. docker tag ${HLF_IMG}:$ARCH-$IMG_TAG ${HLF_IMG}:${HLF_VERSION}
  111. docker tag ${HLF_IMG}:$ARCH-$IMG_TAG ${HLF_IMG}:${HLF_VERSION_1_1}
  112. else
  113. echo_g "${HLF_IMG}:$ARCH-$IMG_TAG already exist locally"
  114. fi
  115. done
  116. echo_g "Done, now worker node should have all required images, use 'docker images' to check"