大家好,又见面了,我是你们的朋友全栈君。
说明 使用虚拟机真实模仿离线环境 虚拟机系统为 CentOS 7.5.1804(kernel-3.10.0-862.el7.x86_64)
本文使用 tgz 文件 离线安装 Docker
提示 如果使用非root用户安装docker,则需要先将该用户加入docker用户组。
- 创建 docker 用户组
sudo groupadd docker
- 将用户添加到 docker用户组
sudo usermod -aG docker $USER
- 刷新用户组的变更
newgrp docker
- 执行
groups
命令查看当前用户所在用户组,有 docker 则表示加入成功。
安装步骤
- 下载 Docker 二进制文件(离线安装包):下载地址 本文使用 /x86_64/docker-17.12.1-ce.tgz,注意对应操作系统类型。
- 通过 FTP工具将 docker-17.12.1-ce.tgz 上传到服务器上
- 解压安装包
tar zxf docker-17.12.1-ce.tgz
- 将docker 相关命令拷贝到 /usr/bin,方便直接运行命令
sudo cp docker/* /usr/bin/
- 启动Docker守护程序
sudo dockerd &
- 验证是否安装成功,执行
docker info
命令,若正常打印版本信息则安装成功。报错则参考docker环境问题清单进行排查。
另外:可通过运行hello-world镜像进行验证
- 事先准备好 hello-world 镜像 tar 文件并上传到服务器上(下载链接)
- 通过
docker load -i {tar文件名}
加载镜像 - 执行
docker run hello-world
拉起容器,通过日志判断容器是否成功运行。
如何停止 docker 服务?
方式一:根据进程号(pid)停止docker服务
执行 ps -aux | grep dockerd
查看docker的pid
执行 kill {pid}
杀死docker进程(若无法正常终止进程可加上 -9
参数强制终止,即 kill -9 {pid})
方式二:通过systemctl stop docker 停止服务 需要先将docker注册成系统服务,参见下文。
如何将docker注册成系统服务?
在 /usr/lib/systemd/system/ 目录下创建docker.service 文件
sudo vi /usr/lib/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
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
- 启动 / 停止 docker 服务
systemctl start/stop docker
- 开机自启 / 取消开机自启 docker 服务
systemctl enable/disable docker
题外话:
- 如何不使用 docker pull 命令,下载镜像tar 文件?
Downloading Docker Images from Docker Hub without using Docker
How do I download Docker images without using the pull command?
Fetch docker images without docker command. e.g. with wget
方案一:通过脚本下载镜像(需要 curl 、jq、go 依赖,通过
yum install curl jq go -y
安装):https://github.com/moby/moby/blob/master/contrib/download-frozen-image-v2.sh - 迁移一台服务器的镜像到另一台服务器? How to copy docker images from one host to another? How to copy Docker images from one host to another without using a repository
reference: Docker官网 二进制安装包安装文档 Docker tgz包下载地址 Docker Hello-world 镜像 yum安装软件时出现No package ** available的问题
end
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189208.html原文链接:https://javaforall.cn