docker的安装及使用问题汇总

1、使用infoq用户登入linux系统;

2、查看是否安装docker,可以使用docker version查看

A 出现docker的版本信息,即安装有docker,即可进行第四步操作

B 否则未安装docker 需要进行安装操作,安装操作如下:

  1. 创建docker文件夹:mkdir /app/infoq/docker
  2. cd app/infoq/update/
  3. 解压: tar zxvf docker-1.8.0.tgz
  4. 将解压后的文件usr移动到docker目录下:mv usr /app/infoq/docker
  5. 进入docker/usr/local/bin 下:cd usr/local/bin
  6. 拷贝到/usr/local/bin: cp docker /usr/local/bin(或mv docker /usr/local/bin)
  7. #修改bashrc文件:vi /etc/bashrc
  8. 文件末尾新增如下内容
  9. PATH=$PATH:/usr/local/bin
  10. export PATH
  11. 查看docker是否安装成功: docker version

注:由于docker安装需要涉及到系统文件的修改/usr/local/bin、/etc/bashrc和docker.sock,经实操测试,建议使用root用户安装docker,解决重启后docker无法自动启动,非root用户(在没有root用户启动并赋权的情况下)无法使用的情况步骤如下:

可以在最初安装docker时就将docker设置为开机自启项:命令如下

systemctl enable docker

如果出现一下错误信息

 

则说明可能是当前的docker版本过低,需要升级docker版本

然后在安装好docker后,root用户就使用命令为普通用户赋予docker操作权限有如下三种方式:

1、chmod 666 /var/run/docker.sock(每次服务器重启都需要进行一遍赋权操作)

2、修改/etc/sudoers文件 在其中增加一行内容操作步骤:

A) chmod u+w /etc/sudoers  赋予sudoers文件写权限

B) vim /etc/sudoers   编辑文件,找到文件此处在下面新增一行内容

 

infoq  ALL=(ALL)    ALL

C) chmod u-w /etc/sudoers  收回sudoers文件写权限

PS:此种方式处理后再使用docker命令是前面需要加上sudo,如sudo docker images

3、创建docker用户组,命令如下:

1) Groupadd docker

2) Usermod -aG docker infoq(用户名)

3) service restart docker(或 systemctl restart docker)

4) chmod a+rw /var/run/docker.sock

Ps:此种方法处理后即可实现在docker用户组下的用户,在系统重启后仍然具有docker的操作权限,并且不用在命令最前面加上sudo.可在第二种方式的基础上进行操作。

总结:一般情况下为了保险起见,建议以上三种方法都操作一遍。

3、查看docker是否启动:可以使用docker images

如果出现以下信息:

 

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

docker没有启动,此时需要进行启动(一般是未按照步骤三中的docker配置步骤进行会出现)

Docker启动命令:nohup docker daemon &(由于现阶段生产环境所装的docker版本较低,不能使用systemctl命令进行启动

使用docker ps查看是否启动成功,如果出现以下内容,则表明启动成功

 

CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS   NAMES

Ps:由第三步的配置操作可解决docker启动问题

4、查看infoq用户是否有docker的操作权限:可以使用docker images查看

A) 有权限:结果不是permission denied,并且列出了镜像包,则拥有权限,可直接进行下一步操作

B) 无权限:permission denied (一般是未按照步骤三种的docker配置步骤进行才会出现)

解决办法:登录root用户给普通用户赋予docker的操作权限

chmod 666 /var/run/docker.sock ()

原文地址:https://www.cnblogs.com/peng-zhao/p/11505862.html