"The following command runs an ubuntu
container, attaches interactively to your local command-line session, and runs /bin/bash
," reads the official Docker starter guide.
docker run -it ubuntu /bin/bash
docker run -it ubuntu /bin/bash
# List files inside of the Docker container
root@642064598df6:/ ls
# bin dev home lib32 libx32 mnt proc run srv tmp var
# boot etc lib lib64 media opt root sbin sys usr
# Print the current directory
root@642064598df6:/ pwd
# /
# Exit the instance
root@642064598df6:/ exit
# exit
Here's a summary from Docker's docs.
When you run this command, the following happens (assuming you are using the default registry configuration):
docker pull ubuntu
).docker container create
command manually)./bin/bash
. Because the container is running interactively and attached to your terminal (due to the -i
and -t
flags), you can provide input using your keyboard while the output is logged to your terminal.When you type exit
to terminate the /bin/bash
command, the container stops but is not removed. You can start it again or remove it.
Read the Docker overview guide.
If you don't want your container to persist after you exit
, you should use the --rm
flag.
docker run -it --rm ubuntu /bin/bash
Today I've automated the backup of the configuration, database, and static files of all the websites I manage. Two hours and a half that will save me a lot of time in the coming future, and remove stress when weird things happen. The backup—of six websites in three different servers running Laravel—downloads a copy of the database, the .env
files, and the static files (a zip with the contents of the public
folder) of each site.
I'll probably open source these scripts in the near future.
One new thing I learned was creating bash functions, like this one.
# create a variable with current date, formatted as yymmdd_HHMMSS
DATE_NOW=$(date '+%y%m%d_%H%M%S')
# function that zips something and removes it
zip_and_remove() { cd $1 && zip "$2.zip" $2 && rm $2 && cd .. }
# function that downloads a file via ssh then calls the previous one
download_zip_remove() { scp $1 $2/$3 && zip_and_remove $2 $3 }
# a function call
download_zip_remove root@192.168.1.2:/var/www/site.com/folio/.env $DESTINATION $(echo $DATE_NOW)_$SITENAME.env