在多用戶Linux系統上搭建Docker涉及幾個步驟,包括安裝Docker、配置用戶權限和設置用戶組。以下是一個詳細的指南:
首先,你需要在所有用戶都能訪問的環境中安裝Docker。以下是在不同Linux發行版上安裝Docker的示例命令:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo dnf install -y docker
sudo systemctl start docker
sudo systemctl enable docker
為了確保所有用戶都能運行Docker命令,你需要將用戶添加到docker
組。
sudo usermod -aG docker $USER
接下來,注銷并重新登錄以使更改生效。
你可以通過設置環境變量DOCKER_HOST
來指定默認的Docker守護進程監聽的地址。例如,如果你希望所有用戶都能訪問Docker守護進程,可以將其設置為unix:///var/run/docker.sock
。
echo 'export DOCKER_HOST=unix:///var/run/docker.sock' >> ~/.bashrc
source ~/.bashrc
如果你需要創建一個Docker鏡像,可以編寫一個Dockerfile。例如,創建一個簡單的Nginx鏡像:
# 使用官方的Nginx鏡像作為基礎鏡像
FROM nginx:latest
# 將自定義的Nginx配置文件復制到容器中
COPY nginx.conf /etc/nginx/nginx.conf
使用以下命令構建和運行Docker容器:
# 構建Docker鏡像
docker build -t my-nginx .
# 運行Docker容器
docker run -d -p 80:80 --name my-nginx-container my-nginx
你可以使用以下命令管理Docker容器:
# 查看所有正在運行的容器
docker ps
# 查看所有容器(包括停止的容器)
docker ps -a
# 停止容器
docker stop <container_id>
# 啟動容器
docker start <container_id>
# 刪除容器
docker rm <container_id>
# 刪除鏡像
docker rmi <image_id>
為了更好地管理Docker守護進程,你可以編輯/etc/docker/daemon.json
文件。例如:
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
然后重啟Docker服務:
sudo systemctl restart docker
通過以上步驟,你可以在多用戶Linux系統上成功搭建Docker,并確保所有用戶都能訪問和使用Docker。