1:centos安装docker
简要: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 -v
1.2.3:启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙。 关闭防火墙
systemctl stop firewalld
启动docker
systemctl start docker
systemctl stop docker
systemctl restart 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包,如下图
2.3:编写Dockerfile文件
2.4:编写Docker-compose文件
#基础镜像
FROM java:8-jre
VOLUME /tmp
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/timezone \
2.5:创建前端代码所需的文件存放目录
mkdir /root/nginx/html
将dist.zip 解压至该目录
Unzip dist.zip
注:这里dist所存放的位置要与上面的docker-compose文件中的需挂载目录一致
创建nginx.conf配置文件
touch nginx.conf
编写nginx.conf 配置文件,具体配置如下
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 registry
3.1.2:修改文件
vi /etc/docker/daemon.json
注:此处如果没有这个daemon.json文件新增即可 添加如下参数
"insecure-registries": ["http://192.168.3.3:8080"]
注:此处ip为服务器ip,需替换
3.1.3:重新加载
systemctl daemon-reload
3.1.4:重启docker
systemctl restart docker
3.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
|