Skip to content

Instantly share code, notes, and snippets.

@ailispaw
Last active December 21, 2016 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ailispaw/1e8f87f0a0def8e09351479d5adc1492 to your computer and use it in GitHub Desktop.
Save ailispaw/1e8f87f0a0def8e09351479d5adc1492 to your computer and use it in GitHub Desktop.
Package Tool for Wocker: Make a container portable and pushable to Docker Hub
#!/bin/sh
# Usage: package.sh <container-name> [image-name]
: ${CONTAINER_NAME:="${1:-wocker}"}
: ${IMAGE_NAME:="${2:-$CONTAINER_NAME}"}
echo "Packaging [${CONTAINER_NAME}] ..."
TMP_DIR=/tmp/${CONTAINER_NAME}
set -e
rm -rf ${TMP_DIR}
trap "rm -rf ${TMP_DIR}" EXIT
mkdir -p ${TMP_DIR}/data
docker stop ${CONTAINER_NAME} || true
docker commit ${CONTAINER_NAME} wocker_tmp/${CONTAINER_NAME}
cp -R ~/data/${CONTAINER_NAME} ${TMP_DIR}/data/
cat <<EOF > ${TMP_DIR}/Dockerfile
FROM wocker_tmp/${CONTAINER_NAME}
COPY data/${CONTAINER_NAME} /var/www/wordpress/
RUN chown -R wocker:wocker /var/www/wordpress/
EOF
docker build -t ${IMAGE_NAME} ${TMP_DIR}
docker rmi wocker_tmp/${CONTAINER_NAME}
echo "Packaged into an image [${IMAGE_NAME}]"
@ailispaw
Copy link
Author

docker run -d --name <new-container-name> -p 80:80 -p 3306:3306 <image-name>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment