Linux下离线安装Docker

Linux下离线安装Docker

一、基础环境

1、操作系统:CentOS 7.3 

查看内核

uname -a

lsb_release -a

2Docker版本:

tgz:https://download.docker.com/linux/static/stable/x86_64/  (docker源码安装)

 

rpm:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

3、百度云Docker 18.06.1地址:https://pan.baidu.com/s/1YdN9z72QutPkHBfLq06H1A 密码:dvvh

4、官方参考文档:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries

二、Docker安装

1、解压

tar -xvf docker-18.06.1-ce.tgz

2、将解压出来的docker文件内容移动到 /usr/bin/ 目录下

cp docker/* /usr/bin/

3、将docker注册为service

vim /etc/systemd/system/docker.service

将下列配置加到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

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.

# Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

# restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

 

[Install]

WantedBy=multi-user.target

4、启动

chmod +x /etc/systemd/system/docker.service             #添加文件权限并启动docker

systemctl daemon-reload                                                       #重载unit配置文件

systemctl start docker                                                             #启动Docker

systemctl enable docker.service                                           #设置开机自启

5、验证

systemctl status docker                                                         #查看Docker状态

docker -v                                                                                     #查看Docker版本

 

6 常用命令

1 查看镜像 # docker images
2 保存镜像 # docker save -o rocketmq.tar rocketmq ##-o:指定保存的镜像的名字;rocketmq.tar:保存到本地的镜像名称;rocketmq:镜像名字,通过"docker images"查看
3 载入镜像 # docker load --input rocketmq.tar 或 docker load < rocketmq.tar
4 删除镜像 # docker rmi -f image_id ##-f:表示强制删除镜像;image_id:镜像id

5 运行镜像 #  docker run --name myguacd -d -p 4822:4822 guacamole/guacd:1.0.0

镜像运行出错-解决: 

可能出现报错:

 

  可能原因: selinux开启导致docker run失败。原文:https://blog.csdn.net/qq_25112523/article/details/99822130

  “init caused \"write /proc/self/attr/keycreate: permission denied\"": unknown.” 表示文件没有写入权限,被拒绝访问了;selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux控制了。

         selinux有三种模式:enforcing 强制 permissive 宽容的 diabled 禁止的,顾名思义,权限限制,从高到低。

解决方法:将/etc/selinux下的config文件中的SELINUX属性改为disabled

步骤:vi /etc/selinux/config

可以看到里面的属性为:enforcing强制性的

 

 

按I键进入编辑模式,将SELINUX属性改为disabled,保存退出:wq,重启liunx系统运行即可

 

posted @ 2020-03-06 15:32  一人一见  阅读(859)  评论(0)    收藏  举报