JUNE 19, 2022

Here's a simple command to get human-readable sizes of files and folders inside of the current directory. (I've tested it on macOS' Terminal and Linux.)

du -sh -- *
# 124M	backups
# 1.8G	recordings-hijack
# 673M	recordings-obs
# 392K	recordings-zoom
# 403M	settings

Note that you may have to sudo if you're trying to get sizes for files that require sudo permissions.

JUNE 9, 2022

"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

Inspecting the Linux virtual machine

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

Behind the scenes

Here's a summary from Docker's docs.

When you run this command, the following happens (assuming you are using the default registry configuration):

  • If you don't have the ubuntu image locally, Docker pulls it from your configured registry (as if you had run docker pull ubuntu).
  • Docker creates a new container (as if you had run a docker container create command manually).
  • Docker allocates a read-write filesystem to the container as its final layer. This allows a running container to create or modify files and directories in its local filesystem.
  • Docker creates a network interface to connect the container to the default network, since you did not specify any networking options. This includes assigning an IP address to the container. By default, containers can connect to external networks using the host machine's network connection.
  • Docker starts the container and executes /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.

Remove the container on exit

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

A sample use-case: TensorFlow

Here, you can see how you'd use a Docker container to run TensorFlow without having to install dependencies on your local machine.

NOVEMBER 27, 2020

In DigitalOcean, running the do-release-upgrade command was returning the following message.

Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.

Install all available updates

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade

Reboot the system

shutdown -r now

You could stop here if all you want is to install available updates. Read the warning below to make sure you don't break your live applications and whether this is the best approach you can take.

Upgrade Ubuntu

WARNING: Please read this article by DigitalOcean on the potential pitfalls of upgrading an existing installation with your applications running on it. Instead of upgrading in-place, the recommended approach is to migrate your applications by creating a new, fresh instance with Ubuntu 20.04 LTS instead of upgrading an existing one. (Run at your own risk!)

sudo do-release-upgrade

Want to see older publications? Visit the archive.

Listen to Getting Simple .