文章目录
- 原文地址
- Java开发环境搭建系列目录
- 1. Docker安装
- 2. 设置Docker镜像加速
- 2.1 ustc镜像加速
- 2.2 阿里云镜像加速
- 2.3 查看镜像加速是否生效
- 3. 远程连接Docker容器可能出现的问题
Java开发环境搭建系列目录
点击标题跳转文章,包含:通用技术问题及环境安装目录展示。
1. Docker安装
- 为什么第一个安装的是Docker呢? 很多人会将开发中使用到的环境安装到Docker中,在Docker中创建了很多容器,开发环境不建议这么做,本就是在虚拟机CentOS中安装,虚拟机本身就方便移动到各个系统中,无需再嵌套一层Docker。 只是作为开发环境,还到不了容器编排的层次。像:MySQL、redis作为开发环境的连接,都不建议使用Docker,使用Docker配置目录挂载、容器网络也比较繁琐,直接在虚拟机的CentOS中安装即可。ELK技术栈我使用了带SSH的CentOS7的Docker镜像安装,带ssh方便工具直连,使用Docker镜像是方便ELK整套技术栈的移动。 看个人习惯吧,所以优先介绍Docker的安装,方便大家使用Docker配置开发环境。
Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本的CentOS中是不支持更新最新的一些补丁包的。
由于我的开发环境都使用的是CentOS,因此这里我将Docker安装到CentOS上。
注意:这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境,而且Docker很多补丁不支持更新。
(1)yum 包更新到最新
sudo yum update
(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(3)设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)安装docker
sudo yum -y install docker-ce
(5)安装后查看docker版本
docker -v
(6)设置开机启动
systemctl enable docker
2. 设置Docker镜像加速
Docker镜像仓库在国外,使用默认镜像地址,下载Docker镜像速度慢,所以需要设置国内镜像地址,来加速镜像的下载。
提供两个镜像加速的服务,任选其一即可:
2.1 ustc镜像加速
ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。
官方地址:https://lug.ustc.edu.cn/wiki/mirrors/help/docker
(1)编辑该文件:
vi /etc/docker/daemon.json
(2)在该文件中输入如下内容:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
(3)重启docker
sudo systemctl restart docker
2.2 阿里云镜像加速
阿里云开设了一个【容器开放平台】https://www.aliyun.com/product/acr
登录自己的阿里云账户,进入管理控制台。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的镜像加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.3 查看镜像加速是否生效
docker info
3. 远程连接Docker容器可能出现的问题
(1)IPv4 forwarding is disabled. Networking will not work
解决方案:
vi /etc/sysctl.conf
#最下方添加这段代码
net.ipv4.ip_forward=1
#重启network服务和docker
systemctl restart network && systemctl restart docker
#查看是否修改成功 (备注:返回1,就是成功)
[root@localhost ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1