<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: innocent leonard</title>
    <description>The latest articles on DEV Community by innocent leonard (@kidubo).</description>
    <link>https://dev.to/kidubo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F572349%2F3b545676-3306-4cb9-9bdf-e883ae1795af.jpeg</url>
      <title>DEV Community: innocent leonard</title>
      <link>https://dev.to/kidubo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kidubo"/>
    <language>en</language>
    <item>
      <title>How to Dockerize nestJs app</title>
      <dc:creator>innocent leonard</dc:creator>
      <pubDate>Thu, 09 Feb 2023 07:50:29 +0000</pubDate>
      <link>https://dev.to/kidubo/how-to-dockerize-nestjs-app-4mbb</link>
      <guid>https://dev.to/kidubo/how-to-dockerize-nestjs-app-4mbb</guid>
      <description>&lt;p&gt;Create a Dockerfile&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;###################
# BUILD FOR LOCAL DEVELOPMENT
###################

FROM node:16-alpine As development

WORKDIR /usr/src/app

COPY --chown=node:node package*.json ./

RUN npm install --force

COPY --chown=node:node . .

USER node

###################
# BUILD FOR PRODUCTION
###################

FROM node:16-alpine As build

WORKDIR /usr/src/app

COPY --chown=node:node package*.json ./

COPY --chown=node:node --from=development /usr/src/app/node_modules ./node_modules

COPY --chown=node:node . .

RUN npm run build

ENV NODE_ENV production

RUN npm i --force --only=production

RUN npm cache clean --force

USER node

###################
# PRODUCTION
###################

FROM node:16-alpine As production

COPY --chown=node:node --from=build /usr/src/app/node_modules ./node_modules

COPY --chown=node:node --from=build /usr/src/app/dist ./dist

CMD [ "node", "dist/src/main.js" ]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is How to build and run it&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker build -t {name} -f {dockerfile}&lt;/code&gt;&lt;br&gt;
&lt;code&gt;docker build -t {name}  {Dockerfile location}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker run -p {port}:{port} --env-file {.env} {Dockerimage}&lt;/code&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>nestjs</category>
      <category>node</category>
    </item>
    <item>
      <title>Docker Common Command You need to know</title>
      <dc:creator>innocent leonard</dc:creator>
      <pubDate>Sat, 23 Jul 2022 17:58:42 +0000</pubDate>
      <link>https://dev.to/kidubo/docker-common-command-you-need-to-know-1nl7</link>
      <guid>https://dev.to/kidubo/docker-common-command-you-need-to-know-1nl7</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Docker Common Command You need to know&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Docker CLI Cheatsheet&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  &lt;code&gt;docker build&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker build [options] .&lt;/span&gt;
  &lt;span class="s"&gt;-t "app/container_name"&lt;/span&gt;    &lt;span class="c1"&gt;# name&lt;/span&gt;
  &lt;span class="s"&gt;--build-arg APP_HOME=$APP_HOME&lt;/span&gt;    &lt;span class="c1"&gt;# Set build-time variables&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Create an &lt;code&gt;image&lt;/code&gt; from a Dockerfile.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;code&gt;docker run&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker run [options] IMAGE&lt;/span&gt;
  &lt;span class="s"&gt;# see `docker create` for options&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker run -it debian:buster /bin/bash
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Run a command in an &lt;code&gt;image&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Manage containers&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1 . &lt;code&gt;docker create&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker create [options] IMAGE&lt;/span&gt;
  &lt;span class="s"&gt;-a, --attach&lt;/span&gt;               &lt;span class="c1"&gt;# attach stdout/err&lt;/span&gt;
  &lt;span class="s"&gt;-i, --interactive&lt;/span&gt;          &lt;span class="c1"&gt;# attach stdin (interactive)&lt;/span&gt;
  &lt;span class="s"&gt;-t, --tty&lt;/span&gt;                  &lt;span class="c1"&gt;# pseudo-tty&lt;/span&gt;
      &lt;span class="s"&gt;--name NAME&lt;/span&gt;            &lt;span class="c1"&gt;# name your image&lt;/span&gt;
  &lt;span class="s"&gt;-p, --publish 5000:5000&lt;/span&gt;    &lt;span class="c1"&gt;# port map (host:container)&lt;/span&gt;
      &lt;span class="s"&gt;--expose &lt;/span&gt;&lt;span class="m"&gt;5432&lt;/span&gt;          &lt;span class="c1"&gt;# expose a port to linked containers&lt;/span&gt;
  &lt;span class="s"&gt;-P, --publish-all&lt;/span&gt;          &lt;span class="c1"&gt;# publish all ports&lt;/span&gt;
      &lt;span class="s"&gt;--link container:alias&lt;/span&gt; &lt;span class="c1"&gt;# linking&lt;/span&gt;
  &lt;span class="s"&gt;-v, --volume `pwd`:/app&lt;/span&gt;    &lt;span class="c1"&gt;# mount (absolute paths needed)&lt;/span&gt;
  &lt;span class="s"&gt;-e, --env NAME=hello&lt;/span&gt;       &lt;span class="c1"&gt;# env vars&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker create --name app_redis_1 \
  --expose 6379 \
  redis:3.0.2
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Create a &lt;code&gt;container&lt;/code&gt; from an &lt;code&gt;image&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. &lt;code&gt;docker exec&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker exec [options] CONTAINER COMMAND&lt;/span&gt;
  &lt;span class="s"&gt;-d, --detach&lt;/span&gt;        &lt;span class="c1"&gt;# run in background&lt;/span&gt;
  &lt;span class="s"&gt;-i, --interactive&lt;/span&gt;   &lt;span class="c1"&gt;# stdin&lt;/span&gt;
  &lt;span class="s"&gt;-t, --tty&lt;/span&gt;           &lt;span class="c1"&gt;# interactive&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker exec app_web_1 tail logs/development.log
$ docker exec -t -i app_web_1 rails c
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Run commands in a &lt;code&gt;container&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. &lt;code&gt;docker start&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker start [options] CONTAINER&lt;/span&gt;
  &lt;span class="s"&gt;-a, --attach&lt;/span&gt;        &lt;span class="c1"&gt;# attach stdout/err&lt;/span&gt;
  &lt;span class="s"&gt;-i, --interactive&lt;/span&gt;   &lt;span class="c1"&gt;# attach stdin&lt;/span&gt;

&lt;span class="s"&gt;docker stop [options] CONTAINER&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Start/stop a &lt;code&gt;container&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  4 . &lt;code&gt;docker ps&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker ps
$ docker ps -a
$ docker kill $ID
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Manage &lt;code&gt;container&lt;/code&gt;s using ps/kill.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. &lt;code&gt;docker logs&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker logs $ID
$ docker logs $ID 2&amp;gt;&amp;amp;1 | less
$ docker logs -f $ID # Follow log output
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;See what’s being logged in an &lt;code&gt;container&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Manage Images&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. &lt;code&gt;docker images&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;docker images
  REPOSITORY   TAG        ID
  ubuntu       12.10      b750fe78269d
  me/myapp     latest     7b2431a8d968
&lt;span class="nv"&gt;$ &lt;/span&gt;docker images &lt;span class="nt"&gt;-a&lt;/span&gt;   &lt;span class="c"&gt;# also show intermediate&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Manages &lt;code&gt;image&lt;/code&gt;s.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. &lt;code&gt;docker rmi&lt;/code&gt;
&lt;/h3&gt;


&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;docker rmi b750fe78269d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Deletes &lt;code&gt;image&lt;/code&gt;s.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Manage Clean up&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Clean all
&lt;/h3&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker system prune
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Cleans up dangling images, containers, volumes, and networks (ie, not associated with a container)&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker system prune &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Additionally remove any stopped containers and all unused images (not just dangling images)&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Containers
&lt;/h3&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Stop all running containers&lt;/span&gt;
docker stop &lt;span class="si"&gt;$(&lt;/span&gt;docker ps &lt;span class="nt"&gt;-a&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;

&lt;span class="c"&gt;# Delete stopped containers&lt;/span&gt;
docker container prune
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;​   &lt;strong&gt;3.Images&lt;/strong&gt;&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker image prune &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-a&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Delete all the images&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Volumes
&lt;/h3&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker volume prune
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Delete all the volumes&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;​         &lt;/p&gt;

&lt;p&gt;​     &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;docker-compose Cheatsheet&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Common commands
&lt;/h2&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Starts existing containers for a service.
docker-compose start

# Stops running containers without removing them.
docker-compose stop

# Pauses running containers of a service.
docker-compose pause

# Unpauses paused containers of a service.
docker-compose unpause

# Lists containers.
docker-compose ps

# Builds, (re)creates, starts, and attaches to containers for a service.
docker-compose up

# Stops containers and removes containers, networks, volumes, and images created by up.
docker-compose down
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tipps &amp;amp; Tricks&lt;/strong&gt;
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/sh

docker-compose down &amp;amp;&amp;amp;
docker-compose rm &amp;amp;&amp;amp;
docker-compose build &amp;amp;&amp;amp;
docker-compose up -d
sleep 1
docker rmi $(docker images -f "dangling=true" -q)
echo y | docker volume prune
printf "\n... HAPPY CODING ...\n\e[0m"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Removing unused containers&lt;/strong&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker containers have a &lt;code&gt;status&lt;/code&gt; field indicating where they are at in their lifecycle. According to the &lt;a href="https://docs.docker.com/engine/reference/commandline/ps/#filtering"&gt;docs&lt;/a&gt;, &lt;code&gt;status&lt;/code&gt; can be one of &lt;code&gt;created&lt;/code&gt;, &lt;code&gt;restarting&lt;/code&gt;, &lt;code&gt;running&lt;/code&gt;, &lt;code&gt;removing&lt;/code&gt;, &lt;code&gt;paused&lt;/code&gt;, &lt;code&gt;exited&lt;/code&gt;, or &lt;code&gt;dead&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;First, we need to get the IDs of the containers with status &lt;code&gt;exited&lt;/code&gt; or &lt;code&gt;dead&lt;/code&gt; as follows:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps &lt;span class="nt"&gt;--filter&lt;/span&gt; &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;exited &lt;span class="nt"&gt;--filter&lt;/span&gt; &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dead &lt;span class="nt"&gt;-q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Then, we can reuse the above command to delete these containers with the following command:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;docker ps &lt;span class="nt"&gt;--filter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;exited &lt;span class="nt"&gt;--filter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dead &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;A one-liner alternative to remove all stopped containers is:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker container prune
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing all containers
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First, we need to stop all running containers. We can get the IDs of the running containers as follows:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps &lt;span class="nt"&gt;-q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Then, we can stop all the containers with:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker stop &lt;span class="si"&gt;$(&lt;/span&gt;docker ps &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;You can replace &lt;code&gt;docker stop&lt;/code&gt; with &lt;code&gt;docker kill&lt;/code&gt; in the above command to forcibly stop the containers.&lt;/p&gt;

&lt;p&gt;Finally, we can delete all containers:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;docker ps &lt;span class="nt"&gt;-a&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing dangling images
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dangling images, as mentioned by the &lt;a href="https://docs.docker.com/engine/reference/commandline/images/#filtering"&gt;documentation&lt;/a&gt;, are final images (i.e, not intermediary build layers) that no longer have an associated tag with them.&lt;/p&gt;

&lt;p&gt;We can get the image ID for such images as follows:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker images &lt;span class="nt"&gt;--filter&lt;/span&gt; &lt;span class="nv"&gt;dangling&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Then, we can delete those images with the following command:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker rmi &lt;span class="si"&gt;$(&lt;/span&gt;docker images &lt;span class="nt"&gt;--filter&lt;/span&gt; &lt;span class="nv"&gt;dangling&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;A one-liner alternative to remove all dangling images is:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker image prune
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing all images
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker doesn’t allow to remove images that have an associated container, so to really delete all images, it is necessary first to &lt;a href="https://renehernandez.io/snippets/cleaning-local-docker-cache/#removing-all-containers"&gt;remove all containers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Similarly to the previous section, we need the IDs of all the images, which we can get using:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker images &lt;span class="nt"&gt;-a&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Then, we can combine it with &lt;code&gt;docker rmi&lt;/code&gt;:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker rmi &lt;span class="si"&gt;$(&lt;/span&gt;docker images &lt;span class="nt"&gt;-a&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;A one-liner alternative to remove all images is:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker image prune &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing volumes
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Volumes also take space in the host machine. They are never deleted automatically since they may contain data that can be reused by different containers or directly from the host.&lt;/p&gt;

&lt;p&gt;Then, to remove all docker volumes use:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker volume prune
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing networks
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Although docker networks don’t consume too much disk space, they create &lt;code&gt;iptables&lt;/code&gt; rules, network devices and routing table entries. To prune these objects, you can run:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker network prune
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Removing everything&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Instead of manually pruning different types of resources, you may be interested on wiping out everything from your local cache. For that we can leverage the &lt;code&gt;docker system prune&lt;/code&gt; command as follows:&lt;/p&gt;

&lt;p&gt;To remove containers, images and networks use:&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker system prune
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;To remove containers, images, networks and volumes, use&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;docker system prune &lt;span class="nt"&gt;--volumes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

</description>
      <category>docker</category>
      <category>programming</category>
    </item>
    <item>
      <title>PostgreSQL Common Commands</title>
      <dc:creator>innocent leonard</dc:creator>
      <pubDate>Fri, 22 Jul 2022 05:00:00 +0000</pubDate>
      <link>https://dev.to/kidubo/postgresql-common-commands-3o90</link>
      <guid>https://dev.to/kidubo/postgresql-common-commands-3o90</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;PostgreSQL Common Command You Need to know&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Creating user,Creating Database,Giving the user a password &amp;amp; Granting privileges on database&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -u postgres psql
postgres=# create database mydb;
postgres=# create user myuser with encrypted password 'mypass';
postgres=# grant all privileges on database mydb to myuser;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Creating user
&lt;/h2&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo -u postgres createuser &amp;lt;username&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Creating Database
&lt;/h2&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo -u postgres createdb &amp;lt;dbname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Giving the user a password
&lt;/h2&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo -u postgres psql
psql=# alter user &amp;lt;username&amp;gt; with encrypted password '&amp;lt;password&amp;gt;';
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Granting privileges on database
&lt;/h2&gt;

&lt;blockquote&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;psql=# grant all privileges on database &amp;lt;dbname&amp;gt; to &amp;lt;username&amp;gt; ;
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Psql commands&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;psql=# \l&lt;/code&gt;                       &lt;em&gt;List available databases&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=# \c dbname&lt;/code&gt;                   &lt;em&gt;Switch connection to a new database&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\dt&lt;/code&gt;                                    &lt;em&gt;List available tables&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\d table_name&lt;/code&gt;                         &lt;em&gt;Describe a table such as a column, type, modifiers of columns, etc.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\dn&lt;/code&gt;                                  &lt;em&gt;List all schemes of the currently connected database&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\df&lt;/code&gt;                                    &lt;em&gt;List available functions in the current database&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\dv&lt;/code&gt;                                  &lt;em&gt;List available views in the current database&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\du&lt;/code&gt;                                &lt;em&gt;List all users and their assign roles&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\h&lt;/code&gt;                                   &lt;em&gt;Get help&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\?&lt;/code&gt;                                  &lt;em&gt;Know all available psql commands&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#\q&lt;/code&gt;                                     &lt;em&gt;Exit psql shell&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;psql=#SELECT version();&lt;/code&gt;                     *Retrieve the current version of PostgreSQL server`&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thank you &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://github.com/kidubo" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F26786213%3Fv%3D4%3Fs%3D400" height="auto" class="m-0"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://github.com/kidubo" rel="noopener noreferrer" class="c-link"&gt;
          kidubo (innocent leonard) · GitHub
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Back-end Developer|
Nodejs| Express| Nestjs | Graphql | TypeORM | Postgres |

 - kidubo
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg"&gt;
        github.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>postgres</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
