Linux下离线安装Docker
Linux下离线安装Docker
一、基础环境
1、操作系统:CentOS 7.3
查看内核
uname -a
lsb_release -a
2、Docker版本:
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系统运行即可
浙公网安备 33010602011771号