背景
离线安装Docker的必要性,第一,在目前数据安全升级的情况下,很多外网已经基本不好访问了。第二,如果公司有对外部署的需求,那么难免会存在对方只有内网的情况,那么我们就要做到学会离线安装。
下载安装包
https://download.docker.com/linux/static/stable/x86_64/
选择合适的版本进行下载。
配置
-
解压安装包
#docker.gz: docker安装包所放置的位置 tar -zxvf docker.gz
安装docker
在解压后,ls当前目录会看到一个docker目录,将解压出来的docker
文件内容拷贝或者移动到 /usr/bin/
目录下
cp docker/* /usr/bin/
此时使用docker info
命令查看一下是否存在引擎的信息
配置docker服务
sudo vim /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
TimeoutSec=0
RestartSec=2
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
Restart=always
TimeoutStartSec=0
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
设置权限
sudo chmod +x /etc/systemd/system/docker.service
识别配置
sudo systemctl daemon-reload
设置开机启动
systemctl enable docker.service
启动docker服务
systemctl start docker
设置daemon.json
vim /etc/docker/daemon.json
{
"data-root": "/soft/docker/workspace",
"registry-mirrors": ["https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.unsee.tech",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev",
"https://proxy.1panel.live",
"https://docker.1panel.top",
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.ketches.cn"]
}
设置镜像加载目录
data-root 参数
设置这个操作非常重要,很多刚学配置的人对这个参数不了解,默认是在/var/lib/docker
下,但是有一个问题是,很多服务器有可能当前目录的大小就不大,如果你不设置到一个很大的目录空间给docker的镜像加载的话,后期加载镜像或者下载镜像都有可能失败。这个好比就是docker的工作空间了
设置镜像库
registry-mirrors 参数
网上搜一下最新的国内镜像仓库,填上去就行,实在不行就翻墙,上科技。
重启docker
systemctl daemon-reload \
systemctl restart dokcer
测试
下载nginx镜像
docker pull nginx
[root@localhost workspace]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8a628cdd7ccc: Pull complete
75b642592991: Pull complete
553c8756fd66: Pull complete
10fe6d2248e3: Pull complete
3b6e18ae4ce6: Pull complete
3dce86e3b082: Pull complete
e81a6b82cf64: Pull complete
Digest: sha256:09369da6b10306312cd908661320086bf87fbae1b6b0c49a1f50ba531fef2eab
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@localhost workspace]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4cad75abc83d 2 months ago 192MB
latest
[root@localhost workspace]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4cad75abc83d 2 months ago 192MB