前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux CentOS 7 非root用户安装源码版Docker

Linux CentOS 7 非root用户安装源码版Docker

作者头像
星哥玩云
发布2022-07-28 15:49:58
2.9K1
发布2022-07-28 15:49:58
举报
文章被收录于专栏:开源部署开源部署

Linux 版本:CentOS 7

注意:非root用户必须要有sudo权限

一、安装前的准备

1.查看当前主机是否有docker组

若没有输出结果则新建

再次查看,发现已经有了docker组

2.新增拥有sudo权限的用户(若知道root和其他拥有sudo权限的系统用户密码,跳到3;若都没有,必做)

修改该用户的密码

为新增的用户添加sudo权限

代码语言:javascript
复制
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指令报错:权限不够)

代码语言:javascript
复制
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服务

代码语言:javascript
复制
新建该文件
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=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
  
[Install]
WantedBy=multi-user.target

7.添加执行权限并重新加载配置文件

代码语言:javascript
复制
sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reloa

8.docker镜像加速(可以不做,但是docker pull会很慢,由于docker官网在海外)

代码语言:javascript
复制
新建该文件
sudo vi /etc/docker/daemon.json 
加入以下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

9.启动docker

代码语言:javascript
复制
sudo systemctl start docker

三、docker基础命令

代码语言:javascript
复制
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 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档