linux centos7 非root用户安装源码版docker

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

一、安装前的准备

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

若没有输出结果则新建

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

 

2.把需要使用docker指令的用户加入到docker组,此时用户并没有加入进docker组

退出当前用户,重新登录,此时可以看到用户已经加入docke

 

二、安装docker

1.下载docker源码包并上传至虚拟机

https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/

 

2.解压源码包至指定目录下

 

3.将解压出来的docker目录下的指令复制到 /usr/bin/ 目录下

sudo chown root:docker docker/*
sudo mv docker/* /usr/bin/

   

4.查看一下是否改变所属用户和所属组(得到和解压出来的docker目录下的一样的8个指令)

 

5.将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=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
  
[Install]
WantedBy=multi-user.target

 

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

sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reload

 

7.docker镜像加速和基本配置(可以不做,但是docker pull会很慢,由于docker官网在海外)

sudo mkdir /etc/docker

sudo vi /etc/docker/daemon.json

加入以下内容
{
#docker数据目录
"data-root":"/app/docker",
#docker存储的类型
"storage-driver":"overlay2",
#docker日志记录级别
"log-level":"INFO",
#docker日志驱动程序
"log-driver":"json-file",
#dockr驱动程序选项
"log-opts": { "max-size": "10m", "max-file":"5" },
#docker加速
"registry-mirrors":["http://hub-mirror.c.163.com"] }

 

8.启动docker

sudo systemctl start docker

 

 

三、docker基础命令

1、其他指令
docker启/停/重启/查看状态
sudo systemctl start/stop/restart/status
查看当前安装的docker有关信息
docker info

2、镜像相关指令

查看已有镜像
docker images

在docker官网搜寻指定镜像
docker search 镜像

下载镜像(不加标签默认下载最新版本的镜像)
docker pull 镜像名字:tag(即标签)

保存已有镜像
docker save -o name.tar 镜像name:tag

加载镜像
docker load -i name.tar

镜像的删除(删除镜像前请删除所有与该镜像有关的容器)
docker rmi 镜像ID(或name:tag)

修改镜像name和tag
docker tag 镜像name 新镜像name:新tag

3、容器相关指令

启动容器(-d:后台运行;--name:指定容器名字;-p:映射容器端口到本机端口;-v:容器目录文件挂载至本机目录)
docker run -d --name 自定义容器name -p 本机端口:容器端口 -v 本机目录:容器目录 镜像ID(或name:tag)

进入正在运行的容器内部(-i:以交互模式运行容器;-t:为容器重新分配一个伪输入终端.通常it一起使用)
docker exec -it 容器name(或ID) /bin/bash

容器的启/停/重启/删除
docker start/stop/restart/rm 容器name(或ID)

查看容器端口映射
docker port 容器name(或ID)

查看容器信息
docker inspect 容器name(或ID)

查看正在运行的容器
docker ps

查看所有容器(包括正在运行的、停止的,不包括删除的)
docker ps -a

查看容器内的进程
docker top 容器name(或ID)

监控并显示最新100行的容器日志(可以直接使用docker logs容器name(或ID),但是日志容量大的最好加上条件)
docker logs -f --tail=100 容器name(或ID)


posted @ 2020-01-17 15:01  junffzhou  阅读(4778)  评论(0编辑  收藏  举报