Nsenter can be used to enter both Docker containers and systemd-nspawn containers. In this situation, we're going to be looking at a container running with systemd-nspawn. Start a container. To make things easier, we're going to pull the 'vanilla' Fedora 21 Docker container and export its filesystem so we can run it with systemd-nspawn. A Pod Security Policy lets you prohibit or allow certain types of workloads. They work with the Kubernetes role-based access control (RBAC) system to give you flexibility in what you allow and who you allow it to. In the rest of this post, we're going to create a namespace and a service account that can deploy to it. Jun 30, 2020 Docker isn’t the only program in Linux to help users utilize namespaces. Another widely available program is nsenter. With nsenter we can set the namespaces in which a program is to run. One feature of nsenter is the ability to specify a subset of namespaces (-m for mount) and to use an existing namespace from another process (-t for.
This post is older than a year. Consider some information might not be accurate anymore.
Used: Docker version 18.06.1-ce, build e68fc7a RedHat 7.5 (Maipo)
Docker has its strength by isolating applications through containers. Each container has its namespace and a network subsystem. Starting with Docker containers there is a different approach to check connections for your running application.
Scenario
In this scenario, I arranged a Linux Server having an application running on the Linux host and in a docker container.
The current Java EE application is running on port 8443. To check existing connections to the JBoss Server, I use netstat
.
The most common mistake is to assume it works equally for the application running in a Docker container. The check with netstat
.
Network Mode Bridge
Docker’s networking subsystem default driver is bridge
. The network of the container is isolated from the host. The connection check for the application has to happen inside the namespace of the container.

Solutions
There are several solutions I would like to illustrate. In my favoured order:
- Use the command
nsenter
on Linux - Use
netstat
inside the container - Use network mode
host
nsenter
The command nsenter
runs a program with namespaces of other processes. It is part of the util-linux
package and thus should be available for most Linux flavours.
To use nsenter
, we need to determine the process id of the Docker container. Following command with docker inspect
illustrates a natural way. The Docker container is named value-mapper
.
Now we use the obtained process id, to enter the namespace of the Docker container process and run netstat
on it.
Docker Nsenter Commands
netstat
If nsenter
is not available, like on a Mac OS, you still can enter the docker container and execute netstat
. It requires to install netstat
on the running Docker container or add it to your Docker base image.

My need was operational, so I did it live. The Docker base was RHEL 7.5, so I needed the rpm net-tools
, that contains netstat
.
Nsenter Docker Namespace
Download rpm from CentOS repository
Copy it into Docker container.
Login into Docker container as root.
Install it with yum and exit the container.
Log in as the regular user and use netstat in the docker container.
Docker Nsenter Tcpdump
Network Mode host
Nsenter In Docker
For standalone containers, remove network isolation between the container and the Docker host, and use the host’s networking directly. So you can use netstat like before. All you have to do is to start the docker container in host mode.
Summary
Depending on your case there are several solutions to check connections for a Docker container. Independent on which environment you work, you can always use netstat
within the container.