Commands for creating a Docker container inspired by Data Science at the Command Line, 2nd Edition
# clean up namespace
docker container stop ds_cli ; docker container rm ds_cli
# run instance as service
docker container run -d -v /tmp/ds_cli:/tmp/ds_cli --name ds_cli ubuntu:22.04 sleep inf
# update instance
docker container exec -i ds_cli /bin/bash << 'eof'
DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y --no-install-recommends \
bsdextrautils \
csvkit \
curl \
jq \
less \
ruby \
tree \
vim \
;
eof
# connect into instance
docker container exec -it -w /tmp/ds_cli ds_cli /bin/bashPushing Docker image to Dockerhub
# log into Dockerhub
dh_user="{your Dockerhuber username}"
docker login --username "${dh_user}"
# commit to an image with Dockerhub repo tag
dh_tag=$( date +%s )
docker container commit ds_cli "${dh_user}"/ds_cli:${dh_tag}
docker tag "${dh_user}"/ds_cli:${dh_tag} "${dh_user}"/ds_cli:latest
# push to Dockerhub
docker image push "${dh_user}"/ds_cli:${dh_tag}
docker image push "${dh_user}"/ds_cli:latest
# remove images from local cache
docker image rm "${dh_user}"/ds_cli:${dh_tag} "${dh_user}"/ds_cli:latest
# pull and tag image from Dockerhub
docker pull "${dh_user}"/ds_cli
docker tag "${dh_user}"/ds_cli ds_cli
# test by running container
docker run --rm ds_cli echo Greetings
# run service
docker container run -d -v /tmp/ds_cli:/tmp/ds_cli --name ds_cli ds_cli
# connect into instance
docker container exec -it -w /tmp/ds_cli ds_cli /bin/bash