简要:Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。
1.1:卸载旧版本docker(可选)如果之前安装过旧版本的Docker,可以使用下面命令卸载:
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
1.2:安装docker
1.2.1:设置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
1.2.2:安装docker
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
到此docker安装完毕
检查是否安装成功,如下图
docker -v1.2.3:启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙。
关闭防火墙
systemctl stop firewalld
启动docker
systemctl start docker # 启动docker服务 systemctl stop docker # 停止docker服务 systemctl restart docker # 重启docker服务2:centos安装docker Compose以及启动项目
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
检查是否安装成功,如下图
docker-compose -v
2.1:前端代码打包
执行 num run build打包前端项目得到一个dist文件夹,如下图
将此文件夹压缩成dist.zip文件
2.2:后端代码打包先清理缓存在打包,如下图
打包成功后会在target目录下出现一个jar包,如下图
#基础镜像
FROM java:8-jre #SpringBoot项目必须使用/tmp目录 VOLUME /tmp #将项目的jar包拷贝并命名 COPY com.suncere.air.diagnosis.jar yga.jar RUN bash -c "touch /yga.jar" #暴露的端口 EXPOSE 8040 #执行命令运行项目 ENTRYPOINT ["java","-jar","yga.jar","--spring.profiles.active=prod"] #解决时间不正确的问题 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone2.5:创建前端代码所需的文件存放目录
mkdir /root/nginx/html
将dist.zip 解压至该目录
Unzip dist.zip
注:这里dist所存放的位置要与上面的docker-compose文件中的需挂载目录一致
创建nginx.conf配置文件
touch nginx.conf
编写nginx.conf 配置文件,具体配置如下
#user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
}
location @router {
rewrite ^.*$/index.html last;
}
location /bus {
proxy_pass http://192.168.3.3:8040;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2.6:启动项目
本地打包springboot项目,com.suncere.air.diagnosis.jar,并上传到linux中,同时docker-compose.yml、Dockerfile也上传到同一目录下。如下图
开始编排
cd /root
注:此处cd 是cd到docker-compose.yml目录下
docker-compose up -d
最终出现如下图则表明项目部署成功
访问页面 ip加端口
2.7:查看容器日志先使用docker ps查看正在运行的容器,然后使用docker logs -f 容器id查看日志,如下图
3:搭建私有仓库 3.1:配置docker信任地址私服采用的是http协议,默认不被docker信任,所以需要配置:
3.1.1:拉取最新仓库镜像docker pull registry3.1.2:修改文件
vi /etc/docker/daemon.json
注:此处如果没有这个daemon.json文件新增即可
添加如下参数
"insecure-registries": ["http://192.168.3.3:8080"]
注:此处ip为服务器ip,需替换
3.1.3:重新加载systemctl daemon-reload3.1.4:重启docker
systemctl restart docker3.2:配置带有图形化界面版本 3.2.1:编写dockercompose文件
这里建议将这个docker-compose.yml文件放到自己新建的目录下
例如 /root/docker
创建docker文件夹
mkdir /root/docker
创建docker-compose.yml配置文件
touch docker-compose.yml
vi /root/docker/docker-compose.yml
添加参数如下
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= 私有仓库
- REGISTRY_URL=http://registry:5000
depends_on:
- registry
注:此配置文件中的ports中的8080与上面daemon.json中配置的端口一致
3.2.2:启动私有仓库在当前目录输入
docker-compose up -d
出现如下图片则表示下载启动成功
3.2.3:查看私有仓库页面输入ip加端口,例如192.168.3.3:8080
注:此处ip为服务器ip,需替换
3.2.4:推送镜像至私有仓库注:推送镜像到私有仓库必须先tag,步骤如下
1:重新tag本地镜像,名称前缀为私有仓库的地址:例如 192.168.3.3:8080/
docker tag nginx:1.20.2 192.168.3.3:8080/nginx:1.20.1
2:推送镜像
docker push 192.168.3.3:8080/nginx:1.20.1
3:拉取镜像
docker pull 192.168.3.3:8080/nginx:1.20.1



