JDK8
一、通过xftp进行文件的上传
二、tar zxvf jdk-8u191-linux-x64.tar.gz 解压文件
三、编辑配置文件 vim /etc/profile
export JAVA_HOME=/usr/local/environment/jdk/jdk1.8.0_291
export JRE_HOME=/usr/local/environment/jdk/jdk1.8.0_291/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
四、重新加载配置文件 source /etc/profile
五、java -version 查看是否成功
Docker安装
1、配置yum流
首先我们设置yum源
# 这里我们选择使用阿里云的镜像源(速度比较快)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果出现
sudo: yum-config-manager: command not found
的问题,我们执行如下命令:
# 这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里
yum -y install yum-utils
出现如下信息则表示设置成功
[root@VM-8-3-centos app]# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
2、查看选择docker版本
# 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
[root@VM-8-3-centos app]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.11-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.10-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
Docker CE Stable - x86_64 17 kB/s | 19 kB 00:01
上次元数据过期检查:0:00:01 前,执行于 2021年12月27日 星期一 21时20分01秒。
3、安装docker
我们这里就安装最新版本的Docker
#不指定版本号,则默认安装最新版本
sudo yum install docker-ce
已安装:
container-selinux-2:2.167.0-1.module_el8.5.0+911+f19012f9.noarch containerd.io-1.4.12-3.1.el8.x86_64
docker-ce-3:20.10.12-3.el8.x86_64 docker-ce-cli-1:20.10.12-3.el8.x86_64
docker-ce-rootless-extras-20.10.12-3.el8.x86_64 docker-scan-plugin-0.12.0-3.el8.x86_64
fuse-common-3.2.1-12.el8.x86_64 fuse-overlayfs-1.7.1-1.module_el8.5.0+890+6b136101.x86_64
fuse3-3.2.1-12.el8.x86_64 fuse3-libs-3.2.1-12.el8.x86_64
libcgroup-0.41-19.el8.x86_64 libslirp-4.4.0-1.module_el8.5.0+890+6b136101.x86_64
slirp4netns-1.1.8-1.module_el8.5.0+890+6b136101.x86_64
完毕!
4、查看docker版本号
# 查看docker版本号
docker version
出现如下信息说明安装成功
[root@VM-8-3-centos app]# docker version
Client: Docker Engine - Community
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:45:22 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
5、加入开启启动
# 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
出现如下信息说明设置成功
[root@VM-8-3-centos app]# sudo systemctl start docker
[root@VM-8-3-centos app]# sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
6、测试镜像拉取
# 测试拉取Hello-world镜像
docker pull hello-world
docker images
查看镜像列表
[root@VM-8-3-centos app]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 3 months ago 13.3kB
Dockerfile
FROM java:8
VOLUME /tmp
ADD blog-springboot-0.0.1.jar blog.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"]
Docker安装mysql
拉取Mysql镜像
docker pull mysql
运行mysql
docker run -d -p 3306:3306 --name myMysql -e MYSQL_ROOT_PASSWORD=123456 mysql
Docker安装redis
拉取Redis镜像
docker pull redis
docer run -d -p 6379:6379
docker run -d -p 6379:6379 --name myRedis redis
使用Docker安装Nginx
1、拉取Nginx镜像
输入命令
docker pull nginx
拉取nginx镜像
#拉取nginx镜像
docker pull nginx
#查看镜像列表
docker images
[root@VM-8-3-centos app]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
f3409a9a9e73: Pull complete
9919a6cbae9c: Pull complete
fc1ce43285d7: Pull complete
1f01ab499216: Pull complete
13cfaf79ff6d: Pull complete
Digest: sha256:366e9f1ddebdb844044c2fafd13b75271a9f620819370f8971220c2b330a9254
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 查看镜像列表
[root@VM-8-3-centos app]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f6987c8d6ed5 6 days ago 141MB
2、启动nginx镜像(暂时启动)
我们直接执行命令 docker run -d -p 80:80 --name nginx nginx
,先不进行数据卷的挂载,这是因为nginx的conf目录中的部分文件通过挂载并不会挂载出来,从而导致镜像运行之后直接停止!
出现如下信息表示启动成功
[root@VM-8-3-centos app]# docker run -d -p 80:80 --name nginx nginx
94230b8be4072cd5a66d15992816de37876c8761b450cf5b41ca5acb3c65f797
[root@VM-8-3-centos app]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94230b8be407 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
接下来我们将容器内部配置文件拷贝出来
# docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
docker cp 94230b8be407:/etc/nginx/conf.nginx /usr/local/app/nginx/conf/
docker cp 94230b8be407:/etc/nginx/conf.d /usr/local/app/nginx/conf/
在目录下会出现我们拷贝出来的文件
[root@VM-8-3-centos conf]# ls
conf.d nginx.conf
[root@VM-8-3-centos conf]# pwd
/usr/local/app/nginx/conf
3、启动nginx镜像(目标启动)
我们可以将之前启动的nginx镜像停止删除掉了。
# 停止容器
docker stop 94230b8be407
# 删除容器
docker rm 94230b8be407
# 查看所有容器 (包括没有运行的容器)
出现如下信息删除成功
[root@VM-8-3-centos conf]# docker stop 94230b8be407
94230b8be407
[root@VM-8-3-centos conf]# docker rm 94230b8be407
94230b8be407
[root@VM-8-3-centos conf]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
接下来我们进行数据卷的挂载。
我们执行如下命令启动nginx镜像
docker run -d -p 主机端口:容器端口 -v 本地目录:容器目录
docker run -d # -d 表示后台运行
-p 80:80 -p 443:443 # -p 表示端口映射 其中443端口为https端口配置
--name nginx # --name 表示容器名称
-v /usr/local/app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf #-v 表示数据卷挂载。 nginx.conf 配置文件
-v /usr/local/app/nginx/conf/conf.d:/etc/nginx/conf.d #conf.d 配置文件
-v /usr/local/app/nginx/html/:/usr/share/nginx/html #html 文件目录
-v /usr/local/app/nginx/logs/:/var/log/nginx/ #logs 日志信息
-v /usr/local/app/nginx/ssl/:/usr/local/app/nginx/ssl #ssl 证书存放位置
-v /usr/local/app/upload/:/usr/local/app/upload nginx #upload 上传路径
看到如下信息表示启动成功
[root@VM-8-3-centos conf]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae78ee20160c nginx "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp nginx
基础服务配置
server {
listen 80;
server_name ip地址;
location / {
root /usr/share/nginx/html/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ^~ /v2/api/ {
proxy_pass http://ip:端口/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Dockerfile:
FROM java:8
VOLUME /tmp
ADD blog-springboot-0.0.1.jar blog.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"]
nginx基础框架:
server {
listen 80;
server_name ip地址;
location / {
root /usr/share/nginx/html/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ^~ /v2/api/ {
proxy_pass http://ip:端口/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}