Sometimes, a SSH access on a host may be blocked outside the corporate domain for security reasons. One solution to access it anyway is through a web browser. The Shell in a Box
tool (https://github.com/shellinabox/shellinabox) makes this possible.
On the host, create a container:
sudo docker container run --rm \
--name shellinabox \
-p 4200:4200 \
-e SIAB_USER=myusername \
-e SIAB_PASSWORD=mypassword \
-e SIAB_SUDO=true \
-v $PWD/dev:/usr/src/dev \
sspreitzer/shellinabox:latest
The output is:
Preparing container .. Starting container .. Executing: /usr/bin/shellinaboxd --debug --no-beep --disable-peer-check -u shellinabox -g shellinabox -c /var/lib/shellinabox -p 4200 --user-css Normal:+/etc/shellinabox/options-enabled/00+Black-on-White.css,Reverse:-/etc/shellinabox/options-enabled/00_White-On-Black.css;Colors:+/etc/shellinabox/options-enabled/01+Color-Terminal.css,Monochrome:-/etc/shellinabox/options-enabled/01_Monochrome.css -s /:LOGIN [server] Version 2.20 [server] Command…
If you want to share a Docker image, you can do so:
Docker provides several commands to share a Docker image:
export
: creates a .tar
file from the container's file system,import
: creates a Docker image with the filesystem from a .tar
file,save
: creates a .tar
file from a Docker image with its history,load
: creates a Docker image with its history from a .tar
file.The docker load
command keeps the history of the image, unlike the docker import
command.
To create a container from an existing one, use…
Updating Docker containers can require significant effort. There are of course solutions to automate these updates. Here we look at the solution proposed by the Docker WatchTower image (https://github.com/v2tec/watchtower).
WatchTower is a Docker Container that updates all running containers when there is an update for that container.
The principle is:
Create the WatchTower container to…
In this story, I propose to analyze the mission control of US Army as exposed in the Army Doctrine Publication ADP 6–0 Mission Command, and to understand what can be useful for Agile contexts. It’s a personal analysis and comments are very welcome.
First, let’s understand the global philosophy of US Army.
The organization’s mission and…
The Book of DevOps Patterns is a long series of patterns used by DevOps. Each story is introduced in a synthetic way by going to the essential. For more patterns, read my book DevOps Patterns DevOps (https://www.amazon.com/DevOps-Patterns-Guide-Bruno-Delb-ebook/dp/B08QSMX9LC).
The people closest to a problem usually know the most about the problems. This is especially true as the system is complex and dynamic. This means that the further away the person being asked for approval is from the problem, the greater the risk of failure. Change advisory committees are important, but they should not evaluate every change. Because it is not possible…
In this series of articles, I will introduce the different Swagger tools. Swagger is a very handy tool for API documentation. It allows you to generate “living” documentation, so that the documentation is always up to date, which is very difficult to do without this kind of tool. It also allows to generate code automatically, allowing the developer to focus on his core business. Finally, it is based on an open source specification format.
These articles focus on Swagger 2.0, while the 3.0 version (“OpenAPI 3.0.0”) is available.
This article is thus broken down into four parts :
In this series of articles, I will introduce the different Swagger tools. Swagger is a very handy tool for API documentation. It allows you to generate “living” documentation, so that the documentation is always up to date, which is very difficult to do without this kind of tool. It also allows to generate code automatically, allowing the developer to focus on his core business. Finally, it is based on an open source specification format.
These articles focus on Swagger 2.0, while the 3.0 version (“OpenAPI 3.0.0”) is available.
This article is thus broken down into four parts :
In this series of articles, I will introduce the different Swagger tools. Swagger is a very handy tool for API documentation. It allows you to generate “living” documentation, so that the documentation is always up to date, which is very difficult to do without this kind of tool. It also allows to generate code automatically, allowing the developer to focus on his core business. Finally, it is based on an open source specification format.
These articles focus on Swagger 2.0, while the 3.0 version (“OpenAPI 3.0.0”) is available.
This article is thus broken down into four parts :
In this series of articles, I will introduce the different Swagger tools. Swagger is a very handy tool for API documentation. It allows you to generate “living” documentation, so that the documentation is always up to date, which is very difficult to do without this kind of tool. It also allows to generate code automatically, allowing the developer to focus on his core business. Finally, it is based on an open source specification format.
These articles focus on Swagger 2.0, while the 3.0 version (“OpenAPI 3.0.0”) is available.
This article is thus broken down into four parts :
It is sometimes useful to be able to launch a container that can launch Docker tasks itself. This is done by installing Docker in a Docker container (Docker in Docker). It also involves mounting the host’s Linux sockets in the Container. Docker CLI itself uses the Docker socket to communicate with the Docker Engine.
This socket is located at this location:
ls -l /var/run/docker.sock
This command returns:
lrwxr-xr-x 1 root daemon 63 10 nov 19:35 /var/run/docker.sock -> /Users/devops/Library/Containers/com.docker.docker/Data/docker.sock
Docker Engine is not actually executed inside the container: the Docker CLI is executed inside the container and communicates with the host…
Interests in the full lifecycle: design, Agile Coaching, development, testing, DevOps, Cloud, Management 3.0, ITIL. It defines me.