docker进阶之路-基础篇 | 一:环境搭建
转载请注明作者及出处:
作者:银河架构师
原文链接:https://www.cnblogs.com/luas/p/12061747.html
一、准备工作
查看内核
Docker 要求 CentOS 系统的内核版本高于 3.10,所以要先查看CentOS系统内核版本, 是否满足要求:
name -r
结果如图:
由于本文系统为CentOS7.7.1908,内核满足要求。
查看是否有旧版本:
docker -v
注意:如显示未找到命令、则也不能完全说明未安装docker,因为可能没有进行相关配置、没有配置成功、docker服务未启动等,都会导致此命令不可用。
使用如下命令查看是否安装了docker及相关包:
rpm -qa | grep docker
如无任何信息输出,则说明未安装过docker。如出现相关包信息,则逐一删除即可:
yum remove xxxx
也可以使用批量删除命令:
yum remove $(rpm -qa | grep docker)
二、自动安装
下载docker-ce源
直接下载:
#需要根据发行版选择,本文为CentOS
wget -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
通过yum-config-manager添加:
#安装yum-util,yum-util提供yum-config-manager功能,其它两个为devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2#添加docker-ce源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本
使用如下命令安装最新稳定版本:
yum install docker-ce
注意:由于repo中默认只开启stable仓库,所以均为稳定版本。
如果想知道安装的最新版本的版本号,则可用如下命令查看:
yum list docker-ce
安装特定版本
查看所有版本:
yum list docker-ce --showduplicates | sort -r
结果如下:
选择版本安装:
yum install docker-ce-19.03.-.el7
注意:前缀带有3:的,需要去掉,添加docker-ce-即可。
三、手工安装
下载阿里源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载rpm包
下载地址,注意,此处同样需要根据发行版来选择,本文为CentOS,如需其它发行版安装包,则访问官方下载地址选择即可。
可先在其它电脑下载完毕,通过ftp、ssh上传到docker主机,也可以使用wget命令在docker主机直接下载。下载地址可访问上述地址选择相关rpm包进行复制,以 docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm为例。
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
安装
使用已下载的rpm包进行安装:
yum -y install docker-ce-18.03..ce-.el7.centos.x86_64.rpm
注意:
如选择docker-ce19版本,则需要在安装docker前,先安装其依赖containerd.io、docker-ce-cli,因为手工安装不会自动安装相关依赖。
此两个依赖下载地址、安装步骤可参考docker rpm包安装方法,需要特别注意的是,一定要选择对要安装的docker对应版本,如docker-ce-19.03.5,对应的docker-ce-cli版本也需为docker-ce-cli-19.03.5。如不确定相关版本,可先执行docker-ce安装,此时会安装出错,需要containerd.io、docker-ce-cli依赖包,然后根据出错信息中的依赖版本,选择下载即可。
启动与检查
启动:
systemctl start docker.service
检查安装结果:
docker -v#或者docker --version
显示信息如下:
安装成功!
开机自启动:
systemctl enable docker.service
其它命令:
#重启
systemctl restart docker.service #停止
systemctl stop docker.service
四、配置
环境变量
编辑/etc/profile,添加环境变量DOCKER_HOST=tcp://0.0.0.0:2375
vim /etc/profile
添加如图内容:
编辑好以后,保存退出。
编译/etc/profile:
source /etc/profile
验证:
echo $DOCKER_HOST
结果如图所示:
配置成功!
配置docker daemon
编辑文件/etc/docker/daemon.json:
vim /etc/docker/daemon.json
编辑内容如下:
{ "registry-mirrors": ["https://registry.docker-cn.com"], "log-driver":"json-file", "log-opts":{"max-size":"500m","max-file":"3"}, "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] }
配置监听
编辑文件 /usr/lib/systemd/system/docker.service:
vim /usr/lib/systemd/system/docker.service
编辑内容行 ExecStart=/usr/bin/dockerd.....,追加如下内容:
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改docker镜像默认存储路径
编辑内容行 ExecStart=/usr/bin/dockerd.....,追加如下内容:
--graph /usr/docker
其中,/usr/docker 为自定义docker镜像存储路径
重启与验证
重新加载docker daemon:
systemctl daemon-reload
重启docker服务
systemctl restart docker.service
验证:
docker-info
查看输出信息
五、安装Docker-Compose
使用国内镜像get.daocloud.io快速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
添加执行权限
chmod +x /usr/local/bin/docker-compose
验证
docker-compose --version
结果如下:
安装成功!
微信搜索【银河架构师】,发现更多精彩内容。
技术资料领取方法:关注公众号,回复微服务,领取微服务相关电子书;回复MK精讲,领取MK精讲系列电子书;回复JAVA 进阶,领取JAVA进阶知识相关电子书;回复JAVA面试,领取JAVA面试相关电子书,回复JAVA WEB领取JAVA WEB相关电子书。
docker进阶之路-基础篇 | 一:环境搭建的更多相关文章
- docker进阶之路-基础篇 | 二:portainer安装与基本使用
转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html 简介 Portainer 是轻量级,跨平台,开源的管理D ...
- C蛮的全栈之路-node篇(一) 环境布置
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- Appium基础知识与环境搭建
基础知识: 环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...
- Python基础学习之环境搭建
Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的.今天我们将带领Python零基础的初学者完成入门的第一步——环境搭建.本文会先来区分几个在P ...
- 新一代Java程序员必学的Docker容器化技术基础篇
Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...
- Jenkins: 基础篇(环境配置)
自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...
- python之路基础篇
基础篇 1.Python基础之初识python 2.Python数据类型之字符串 3.Python数据类型之列表 4.Python数据类型之元祖 5.Python数据类型之字典 6.Python Se ...
- 1-ESP8266 SDK开发基础入门篇--开发环境搭建
因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/cate ...
随机推荐
- python:正则0
Python3 正则表达式特殊符号及用法(详细列表) 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合.子组匹配.模式重复次数.正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不只 ...
- 在lldb调试中调用c++函数 - 如何使用QuartzCore里面的日志消息
承接上一篇,上一篇讲到可以在lldb调试中调用QuartzCore.framework里的CA::Render::Object::show方法来是观察CA::Render模块内的类的信息,但是在lld ...
- spring security进阶 使用数据库中的账户和密码认证
目录 spring security 使用数据库中的账户和密码认证 一.原理分析 二.代码实现 1.新建一个javaWeb工程 2.用户认证的实现 3.测试 三.总结 spring security ...
- veu npm run dev指定host
通常,我们可以在vue项目中的config/index.js指定host,,如下(解host的注释) 但是,在接手的目前项目中,解注释host后,npm run dev并有变为 http://192. ...
- Java每日一面(Part1:计算机网络)[19/11/25]
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: Get请求将请求信息放在UR ...
- go中的关键字-go(上)
1. goroutine的使用 在Go语言中,表达式go f(x, y, z)会启动一个新的goroutine运行函数f(x, y, z),创建一个并发任务单元.即go关键字可以用来开启一个gorou ...
- PostGIS mysql_fdw操作日志(留观)
#####Linux终端操作命令记录,留做自己后面研究,绿色部分为成功部分 错误: 服务器"mysql_server" 不存在postgres=# create user mapp ...
- Jenkins 实现前端自动打包,自动部署代码及邮件提醒功能
在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时候,人家会问我前端如何部署项目 ...
- 开始你的api:NetApiStarter
在此之前,写过一篇 给新手的WebAPI实践 ,获得了很多新人的认可,那时还是基于.net mvc,文档生成还是自己闹洞大开写出来的,经过这两年的时间,netcore的发展已经势不可挡,自己也在不断的 ...
- Java方法的可变参数
class Demo { public static int sum(int ... data) { //此处可以传递一个数组,也可以是多个参数 int sum = 0; for (int i : d ...