(一)安装docker、编辑daemon.json文件、安装docker-compose编排容器、启动docker
1.环境准备
[root@docker--1 ~]# rz -E
rz waiting to receive.
[root@docker--1 ~]# ls
anaconda-ks.cfg docker.sh
[root@docker--1 ~]# source docker.sh
[root@docker--1 ~]# vim /etc/docker/daemon.json
[root@docker--1 ~]# vim /usr/lib/systemd/system/docker.service
[root@docker--1 ~]# systemctl daemon-reload
[root@docker--1 ~]# systemctl start docker
脚本内容如下:
cat << EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
cat << EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
2.普通部署
按照正常步骤安装docker,这里可参考前面的笔记
3.拉取nginx镜像
[root@docker3 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:447a8665cc1dab95b1ca778e162215839ccbb9189104c79d7ec3a81e14577add
Status: Image is up to date for nginx:latest
docker.io/library/nginx:latest
4.查看镜像
[root@docker3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5ef79149e0ec 2 weeks ago 188MB
5.创建nginx容器
[root@docker--1 ~]# docker run -itd -p80:80 nginx:latest a9200f608c60aa1c8827b5562b7906d543d48e38c06f76bdb1b702ce73209117
6.查看容器
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
a9200f608c60 nginx:latest "/docker-entrypoint.…" 19 seconds ago Up 17 seconds cp stupefied_feistel
进行验证
[root@docker--1 ~]# curl localhost
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.
注:容器启动后nginx服务就自动发布了,浏览器也能够看到nginx页面
(二)部署project_exam_system项目
创建一个目录,放置前端和后端的资料
[root@docker--1 ~]# mkdir project_exam_system
切入到所创建的目录中
[root@docker--1 ~]# cd project_exam_system/
创建web目录
[root@docker--1 project_exam_system]# mkdir web
切入到web目录下
[root@docker--1 project_exam_system]# cd web/
拖拽dist.zip的压缩包
[root@docker--1 web]# rz -E
rz waiting to receive.
[root@docker--1 web]# ls
dist.zip
安装unzip
[root@docker--1 web]# yum -y install unzip
使用unzip进行解压dist.zip的包
[root@docker--1 web]# unzip dist.zip
[root@docker--1 web]# ls
dist dist.zip
[root@docker--1 web]# cd ..
停止并删除前面所创建的容器
停止容器
[root@docker--1 project_exam_system]# docker stop a92
a92
删除容器
[root@docker--1 project_exam_system]# docker rm a92
a92
创建容器,进行映射端口和挂载目录
[root@docker--1 project_exam_system]# docker run -itd -p80:80 -v /root/project_exam_syml/ nginx:latest
7c7f8bbb4ae732042b9ad3060d58f5c595f76fd7348b2b8e5beea857f74cf6e2
浏览器访问
采用域名劫持设置域名
顾名思义也就是修改物理机上的hosts文件来达到效果
修改hosts文件
后端业务jdk17、springboot
#拉取centos镜像
[root@docker--1 project_exam_system]# docker pull centos
#回到根目录
[root@docker--1 project_exam_system]# cd
#拖拽项目资源和jdk17版本的文件
#项目资源:application.properties
Project_ExamSystem-V1.0.0.war
#jdk17版本的文件: jdk-17_linux-x64_bin.tar.gz
[root@docker--1 ~]# rz -E
rz waiting to receive.
[root@docker--1 ~]# rz -E
rz waiting to receive.
[root@docker--1 ~]# rz -E
rz waiting to receive.
#查看
[root@docker--1 ~]# ls
anaconda-ks.cfg docker.sh project_exam_system
application.properties jdk-17_linux-x64_bin.tar.gz Project_ExamSystem-V1.0.0.war
#使用centos镜像创建容器
[root@docker--1 ~]# docker run -it centos:latest /bin/bash
#使用ctrl p+q退出
[root@2267541087e9 /]# [root@docker--1 ~]#
#查看容器
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2267541087e9 centos:latest "/bin/bash" 44 seconds ago Up 43 seconds hardcore_raman
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 34 minutes ago Up 34 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
#将在服务器上的java文件上传到容器
[root@docker--1 ~]# docker cp jdk-17_linux-x64_bin.tar.gz 226:/
Successfully copied 183MB to 226:/
[root@docker--1 ~]# docker cp application.properties 226:/
Successfully copied 4.1kB to 226:/
[root@docker--1 ~]# docker cp Project_ExamSystem-V1.0.0.war 226:/
Successfully copied 41MB to 226:/
#对已经传到容器的文件进行部署
[root@docker--1 ~]# docker attach 226
[root@2267541087e9 /]# ls
Project_ExamSystem-V1.0.0.war home media run usr
application.properties jdk-17_linux-x64_bin.tar.gz mnt sbin var
bin lib opt srv
dev lib64 proc sys
etc lost+found root tmp
#创建目录
[root@2267541087e9 /]# mkdir /usr/local/jdk
[root@2267541087e9 /]# tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1
[root@2267541087e9 /]# vi application.properties
spring.datasource.url=jdbc:mysql://192.168.1.24:3306/p
评论记录:
回复评论: