前言
docker是我们开发过程中,进行项目环境部署,开发,上线的时候经常使用到的一个实用工具。不管是什么项目也好,我们肯定是必不可少的。尤其是现在和卷王比拼的时代,Java的开发标准都上SpringCloud去了,都上微服务了,那么docker必然是需要掌握的。
OK,废话不多说,咱们开始了,这个也是好久之前压库存的玩意儿了(每次我是来清理库存的,这几天WhiteHole得快点推进一下了,先做好,其他的后面再说)。
OK,我们先从安装开始好吧:
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。
Docker CE 分为 stable
test
和 nightly
三个更新频道。
官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,而且我们大部分选择的服务器都是CentOS ,所以我们这边的指令都是按照CentOS来的。
旧版本卸载
OK,我们先来卸载一下旧版本,如果你的PC上面有的话,你可以选择卸载一下,不然没必要:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安装
先安装一下工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后输入命令:
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
启动docker
启动docker前,先关一下防火墙,或者开放一下对应需要使用的端口。我们这边先直接关一下
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
然后输入命令,可以查看docker版本:
docker -v
如果查看成功的话,那么就说明正常了。这里在推荐一下finalShell作为Shell工具。
DockerCompose
这个东西呢,就是一个可以一次性帮助我们创建多个docker镜像的玩意。可以编写脚本的玩意,当然编写一个shell脚本其实也可以的。
用这个安装即可
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
然后改一下文件权限:
chmod +x /usr/local/bin/docker-compose
当然还有一个命令补齐的好东西:
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
镜像仓库搭建
这个的话自己看着办,目前我们应该是用不上。但是还是说一下吧。
*面版本
Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,不过没有图形化界面。
docker run -d \
--restart=always \
--name registry \
-p 6000:6000 \
-v registry-data:/var/lib/registry \
registry
命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。
访问http://yourhost:6000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像
有界面版本
OK,那么我们再来一下这个有界面的怎么玩
我们可以直接使用docker-compose来玩,那么就用这个
version: '3.0'
services:
registry:
image: registry
volumes:
- ./registry-data:/var/lib/registry
ui:
image: joxit/docker-registry-ui:static
ports:
- 8080:80
environment:
- REGISTRY_TITLE=WhiteHole
- REGISTRY_URL=http://registry:6000
depends_on:
- registry
当然直接使用docker其实也可以。但是docker-compose不能白装是吧。
之后的话我们配置一下信任地址
# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.150.101:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker