linux非root用户搭建docker,Linux CentOS 7 非root用户安装源码版Docker
Linux 版本:CentOS 7
注意:非root用戶必須要有sudo權限
一、安裝前的準備
1.查看當前主機是否有docker組
若沒有輸出結果則新建
再次查看,發現已經有了docker組
2.新增擁有sudo權限的用戶(若知道root和其他擁有sudo權限的系統用戶密碼,跳到3;若都沒有,必做)
修改該用戶的密碼
為新增的用戶添加sudo權限
sudo vi /etc/sudoers
在92行下一行添加
test ALL=(ALL) ALL
3.把當前用戶加入到docker組 (此時用戶并沒有加入進docker組)
切換至sudo權限用戶,然后再切換回當前用戶(此時可以看到用戶已經加入docker組)
3.刪除新增的用戶和它的sudo權限(第2步沒做請忽略此步)
sudo vi /etc/sudoers
在92行下一行添加
test ALL=(ALL)? ALL
兩次退出,不然刪除用戶時會報錯
二、安裝docker
1.下載docker源碼包并上傳至虛擬機
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-18.09.0.tgz
2.解壓源碼包至指定目錄下
3.將解壓出來的docker目錄下的指令復制到 /usr/bin/ 目錄下
sudo cp docker/* /usr/bin/
4./usr/bin/目錄下docker有關指令的所屬用戶和所屬組(必做,不然非root用戶使用docker指令報錯:權限不夠)
sudo chown root:docker /usr/bin/docker*sudo chown root:docker/usr/bin/containerd*sudo chown root:docker/usr/bin/runc
sudo chown root:docker/usr/bin/ctr
5.查看一下是否改變所屬用戶和所屬組(得到和解壓出來的docker目錄下的一樣的8個指令)
6.將docker注冊為service服務
新建該文件
sudo vi /etc/systemd/system/docker.service
加入以下內容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
7.添加執行權限并重新加載配置文件
sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reloa
8.docker鏡像加速(可以不做,但是docker pull會很慢,由于docker官網在海外)
新建該文件
sudo vi /etc/docker/daemon.json
加入以下內容
{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
9.啟動docker
sudo systemctl start docker
三、docker基礎命令
docker啟/停/重啟/查看狀態
sudo systemctl start/stop/restart/status
查看docker已有鏡像
docker images
在docker官網搜尋指定鏡像
docker search 鏡像
下載鏡像(不加標簽默認下載最新版本的鏡像)
docker pull 鏡像名字:tag(即標簽)
啟動容器(以xxx名字運行基于鏡像的容器,并映射容器端口到本機端口,容器目錄文件儲存在本機目錄)
docker run -d -name xxx -p 本機端口:容器端口 -v 本機目錄:容器目錄 鏡像name:tag(或ID)
進入正在運行的容器內部
docker exec -it 容器name(或ID) /bin/bash
容器的啟/停/重啟/信息/刪除
docker start/stop/restart/inspect/rm 容器name(或ID)
查看正在運行的容器
docker ps
查看所有容器(包括正在運行的、停止的,不包括刪除的)
docker ps -a
鏡像的刪除(刪除鏡像前請刪除所有與該鏡像有關的容器)
docker rmi 鏡像name:tag(或ID)
查看當前安裝的docker有關信息
docker info
dd
總結
以上是生活随笔為你收集整理的linux非root用户搭建docker,Linux CentOS 7 非root用户安装源码版Docker的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 二位数组随机,PHP多维数组 p
- 下一篇: linux 内核 发送数据,linux