33
33
fi
34
34
35
35
CONTAINER_IMAGE=shiftcrypto/firmware_v2
36
+ CONTAINER_VERSION=${CONTAINER_VERSION:- latest}
36
37
PROJECT_NAME=" $( basename " $( realpath " $DIR /.." ) " ) "
37
38
CONTAINER_NAME=" $PROJECT_NAME -$CONTAINER_NAME_SUFFIX "
38
39
39
40
dockerdev () {
40
41
local repo_path=" $DIR /.."
41
42
42
- if ! $RUNTIME images --filter " reference=${CONTAINER_IMAGE} " | grep -q " ${CONTAINER_IMAGE} " ; then
43
- echo " No '${CONTAINER_IMAGE} ' ${RUNTIME} image found! Maybe you need to run
44
- '${RUNTIME} build --platform linux/amd64 -- pull -t ${CONTAINER_IMAGE} . '?" >&2
43
+ if ! $RUNTIME images --filter " reference=${CONTAINER_IMAGE} " | grep -q " ${CONTAINER_IMAGE} * ${CONTAINER_VERSION} " ; then
44
+ echo " No '${CONTAINER_IMAGE} : ${CONTAINER_VERSION} ' ${RUNTIME} image found! Maybe you need to run
45
+ '${RUNTIME} pull ${CONTAINER_IMAGE} : ${CONTAINER_VERSION} '?" >&2
45
46
exit 1
46
47
fi
47
48
@@ -53,8 +54,18 @@ dockerdev () {
53
54
54
55
# If already running, enter the container.
55
56
if $RUNTIME ps --filter " name=^${CONTAINER_NAME} $" | grep -q " $CONTAINER_NAME " ; then
56
- $RUNTIME exec $USERFLAG --workdir=" $MOUNT_DIR " -it " $CONTAINER_NAME " bash
57
- return
57
+ id_running=$( ${RUNTIME} inspect ${CONTAINER_NAME} | jq -r ' .[0].Image' )
58
+ id_wanted=$( ${RUNTIME} inspect ${CONTAINER_IMAGE} :${CONTAINER_VERSION} | jq -r ' .[0].Id' )
59
+ # If requested version is same as running version, enter container
60
+ if ! [ $id_wanted == $id_running ] ; then
61
+ echo " Currently running container is not the same version as the requested version"
62
+ echo " Requested version ${CONTAINER_IMAGE} :${CONTAINER_VERSION} ($id_wanted )"
63
+ echo " Current version $( ${RUNTIME} inspect ${CONTAINER_NAME} | jq -r ' .[0].Config.Image' ) ($id_running )"
64
+ exit 1
65
+ else
66
+ $RUNTIME exec $USERFLAG --workdir=" $MOUNT_DIR " -it " $CONTAINER_NAME " bash
67
+ return
68
+ fi
58
69
fi
59
70
60
71
if $RUNTIME ps --all --filter " name=^${CONTAINER_NAME} $" | grep -q " $CONTAINER_NAME " ; then
@@ -68,7 +79,7 @@ dockerdev () {
68
79
--name=" $CONTAINER_NAME " \
69
80
-v " $repo_path " :" $MOUNT_DIR " \
70
81
--cap-add SYS_PTRACE \
71
- ${CONTAINER_IMAGE} bash
82
+ ${CONTAINER_IMAGE} : ${CONTAINER_VERSION} bash
72
83
73
84
if [ " $RUNTIME " = " docker" ] ; then
74
85
# Use same user/group id as on the host, so that files are not created as root in the
0 commit comments