Centos7离线安装docker及docker-compose

好久没更新了,因为近期的总结都写在语雀上,这次在简书同步一下内容。下面进入正题:

之前都是线上直接下载安装docker,近期有个项目需要用docker部署,恰巧人家用的是离线安装,所以写点东西记录一下。由于还没得空一步一步去实践,所以有些地方写的略微模糊哈。

注:内核 3.10以上可以安装docker (查看内核版本 uname -r),centos6 无法安装(内核版本低)

一.离线安装docker

1.到官网下载Docker安装包(二进制)

下载地址 (docker-19.03.1.tgz)

2.将下载好的docker-19.03.1.tgz 上传至服务器 并解压:tar -zxvf docker-19.03.1.tgz

3.进入docker目录,复制所有文件到/usr/bin目录下(/usr/bin是环境变量目录,在任意目录下都执行docker命令)cp docker/* /usr/bin/

4.将docker添加到守护进程
新建docker.service文件 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

# 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 

# 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

5.赋予docker.service 可执行权限,并设置开机自启

# 赋予可执行权限 
chmod +x /etc/systemd/system/docker.service   
#设置开机自启 
systemctl enable docker.service</pre>

6.启动docker服务:systemctl start docker

7.docker的配置文件:默认位置/etc/docker/daemon.json。 –config-file 可用于指定非默认位置。修改后需要重启docker。

{
    "registry-mirrors":[
        "[https://registry.docker-cn.com](https://registry.docker-cn.com/)",
        "[https://dockerhub.azk8s.cn](https://dockerhub.azk8s.cn/)",
        "[https://gcr.azk8s.cn](https://gcr.azk8s.cn/)",
        "[https://quay.azk8s.cn](https://quay.azk8s.cn/)"
    ],
    "insecure-registries":[
        "gcr.azk8s.cn",
        "dockerhub.azk8s.cn",
        "quay.azk8s.cn",
        "registry.docker-cn.com",
        "index.docker.io"
    ],
    "max-concurrent-downloads":3,
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"100m",
        "max-file":"1"
    },
    "max-concurrent-uploads":3,
    "storage-driver":"overlay2",
    "storage-opts":[
        "overlay2.override_kernel_check=true"
    ],
    "live-restore":true,
    "exec-opts":[
        "native.cgroupdriver=systemd"
    ],
    "graph":"/home/docker"
}

重启docker:systemctl restart docker

二.安装docker-compose

1.docker-compose:Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。一句话 docker-compose 是用来做docker的多容器控制的,是一个用来把docker自动化的东西。

2.安装:下载二进制包 GitHub下载地址(1.24.1稳定版),并上传至服务器/usr/local/bin/目录下,赋予可执行权限:chmod +x /usr/local/bin/docker-compose

3.创建软链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功

docker-compose --version 
docker-compose version 1.24.1, build 4667896b

4.docker-compose的使用:

基本使用分三个步骤

1)用Dockerfile定义应用程序的环境,以便可以在任何地方复制。

2)在docker-compose.yml 中定义组成应用程序的服务,所以它们可以在一个孤立的环境中运行

3)运行 docker-compose up 和Compose启动并运行整个应用程序。(后台运行命令:docker-compose up -d)

docker-compose.yml 标准格式:

version: "3.8"
services:
  web:                  #运行的服务1:web
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:                #与哪个容器进行相连
      - redis
  redis:                 #运行的服务2:redis
    image: redis
volumes:
  logvolume01: {} (每一行空两格)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342