Table of Contents
Do you need root permissions to use docker?
Home Operation and Maintenance Docker Do you need root permissions to use docker?

Do you need root permissions to use docker?

Jun 27, 2022 am 10:33 AM
docker

Using docker requires root permissions. Ordinary users without root permissions will not be able to operate docker; if you do not have root permissions, you can use sudo to obtain administrator permissions, run docker commands, or add the current user to the docker user group , then the current user has permission to access the "Unix socket" and can execute docker related commands.

Do you need root permissions to use docker?

The operating environment of this tutorial: linux7.3 system, docker version 19.03, Dell G3 computer.

Do you need root permissions to use docker?

You need root permissions to run docker.

To solve the problem that non-root users do not have permission to run docker commands, the method is as follows:

Method 1:

Use sudo to obtain administrator permissions and run docker command, this method has many limitations when executing docker commands through scripts

Method 2:

When the docker daemon is started, it will be given a name by default Provide read and write permissions for Unix sockets for the docker user group. Therefore, as long as the docker user group is created and the current user is added to the docker user group, the current user will have permission to access the Unix socket and can then execute docker related commands

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
Copy after login

Extended knowledge:

The docker daemon process has root permissions, that is, the user running the docker daemon process is still root. We need to make the following corrections:

Do you need root permissions to use docker?

That is, we need to install docker under a non-root user and start the docker daemon process. This installation and operation mode is called "RootLess" "model. Can be installed but there are prerequisites: "RootLess" mode was introduced as an experimental feature in Docker Engine v19.03 and is officially available starting with Docker Engine v20.10.

Prerequisites

You need to install newuidmap and newgidmap tools shadow-utils, that is, configuring /etc/subuid and /etc/subuid above requires the support of these two tools. Before installation, use yum list installed shadow-utils to confirm whether it has been installed or comes with the operating system. If it exists, do not install it, but the configuration in the third step is required.

Step one: Add a software package installation source, which contains shadow-utils46-newxidmap

curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/repo/epel-7/vbatts-shadow-utils-newxidmap-epel-7.repo
Copy after login

Step two: yum install -y shadow-utils46-newxidmap

Step 3: Modify the system parameter user.max_user_namespaces = 28633 in the /etc/sysctl.conf file. After the modification is completed, execute the sysctl --system command to make the parameters take effect.

echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf;
sudo sysctl -p /etc/sysctl.d/userns.conf;
echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf;
sudo sysctl -p /etc/sysctl.d/userns.conf;
Copy after login

The default value of this parameter is 0, which means that operating system users are not allowed to have subuid space. After the above operation is completed, use the sysctl --all --pattern user_namespaces command to verify the modification results.

Recommended learning: "docker video tutorial"

The above is the detailed content of Do you need root permissions to use docker?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to update the image of docker How to update the image of docker Apr 15, 2025 pm 12:03 PM

The steps to update a Docker image are as follows: Pull the latest image tag New image Delete the old image for a specific tag (optional) Restart the container (if needed)

How to create a mirror in docker How to create a mirror in docker Apr 15, 2025 am 11:27 AM

Steps to create a Docker image: Write a Dockerfile that contains the build instructions. Build the image in the terminal, using the docker build command. Tag the image and assign names and tags using the docker tag command.

How to use docker desktop How to use docker desktop Apr 15, 2025 am 11:45 AM

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

How to read the docker version How to read the docker version Apr 15, 2025 am 11:51 AM

To get the Docker version, you can perform the following steps: Run the Docker command "docker --version" to view the client and server versions. For Mac or Windows, you can also view version information through the Version tab of the Docker Desktop GUI or the About Docker Desktop menu.

How to check the name of the docker container How to check the name of the docker container Apr 15, 2025 pm 12:21 PM

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

How to save docker image How to save docker image Apr 15, 2025 am 11:54 AM

To save the image in Docker, you can use the docker commit command to create a new image, containing the current state of the specified container, syntax: docker commit [Options] Container ID Image name. To save the image to the repository, you can use the docker push command, syntax: docker push image name [: tag]. To import saved images, you can use the docker pull command, syntax: docker pull image name [: tag].

How to copy files in docker to outside How to copy files in docker to outside Apr 15, 2025 pm 12:12 PM

Methods for copying files to external hosts in Docker: Use the docker cp command: Execute docker cp [Options] <Container Path> <Host Path>. Using data volumes: Create a directory on the host, and use the -v parameter to mount the directory into the container when creating the container to achieve bidirectional file synchronization.

How to change the docker image source in China How to change the docker image source in China Apr 15, 2025 am 11:30 AM

You can switch to the domestic mirror source. The steps are as follows: 1. Edit the configuration file /etc/docker/daemon.json and add the mirror source address; 2. After saving and exiting, restart the Docker service sudo systemctl restart docker to improve the image download speed and stability.

See all articles