单机服务搭建
vagrant安装虚拟机
初始化一个centos/7
1 | ## 使用vagrant命令 |
启动虚拟机
1 | ## 启动虚拟机 |
配置固定网络
修改 [VagrantFile] 文件
1 | config.vm.network "private_network", ip: "192.168.56.101" |
开启 root登录 , 22(端口) 连接
1 | vi /etc/ssh/sshd_config |
配置网络
1 | ## 进入到配置目录 |
设置虚拟机 yum源
1 | # 备份 yum源 |
安装JDK 1.8
创建 /mydata/jdk文件夹
在oracle官网下载 jdk8 tar.gz压缩包
上传到 /mydata/jdk 文件夹下,并解压出来
配置jdk运行环境
1 | ## 配置运行环境 |
1 | # 更新配置 |
安装nginx
创建 /mydata/nginx 文件夹
下载nginx
1 | ## 安装之前检查是否有安装过 |
解压,安装,启动
1 | ## 解压文件 |
服务启动
1 | ## 启动nginx |
安装Docker
安装版本需求
centos7/linux 内核3.10以上
1 | ## 查看内核版本 |
移除以前的docker相关包
1 | yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine |
配置yum源
1 | ## 注意:在安装之前需要确定网络配置,见附录 |
安装docker
1 | sudo yum install -y docker-ce docker-ce-cli containerd.io |
启动命令
1 | ## 开机自启,并且现在开启 |
配置阿里云加速
1 | sudo mkdir -p /etc/docker |
docker部署mysql,redis….
部署一个redis中间件
拉取镜像
1
2docker pull redis
## 注:不使用镜像号,默认使用最新的镜像启动镜像
1
2
3
4
5
6
7
8
9
10
11docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# redis使用自定义配置文件启动
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d --name redis \
-p 6379:6379 \
redis:latest redis-server /etc/redis/redis.conf
部署nacos
- 下载官方压缩包
- 用的1.3得包
- 解压到本地目录下
- /mydata/nacos
- 启动服务
- sh startup.sh -m standalone
dockerfile部署应用
使用docker部署应用
应用打包
- springboot –> mvn –> package
target 上传到服务器
1
2
3
4
5
6## 服务器命令
[root@localhost service-hosp]# pwd
/mydata/app/syt/service-hosp
[root@localhost service-hosp]# ls
Dockerfile target
[root@localhost service-hosp]#编写dockerfile文件
1
2
3
4
5
6
7
8
9
10FROM openjdk:8-jdk-slim
LABEL maintainer=gongshishan
COPY target/*.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
## 解释
FROM openjdk:8-jdk-slim # 必须; from 跟着的是应用的基础环境,本文用的是java,所以用的是openjdk构建镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28docker build -t java-demo:v1.0 .
## [.] 命令后面的 点 必须;作用是当前目录下的执行
[root@localhost service-hosp]# docker build -t syt-hosp:v1.0 .
Sending build context to Docker daemon 92.41MB
Step 1/4 : FROM openjdk:8-jdk-slim
8-jdk-slim: Pulling from library/openjdk
a2abf6c4d29d: Already exists
2bbde5250315: Pull complete
115191490c27: Pull complete
61b680ac8083: Pull complete
Digest: sha256:25efb6e0609b95af243b4e3ce2c27dbc1022ef2a4db2164b7afa066c0db18137
Status: Downloaded newer image for openjdk:8-jdk-slim
---> 9afd0fe33df7
Step 2/4 : LABEL maintainer=gongshishan
---> Running in fe44d7ea6368
Removing intermediate container fe44d7ea6368
---> 578c902545a1
Step 3/4 : COPY target/*.jar /app.jar
---> 9e7edc0d660b
Step 4/4 : ENTRYPOINT ["java","-jar","/app.jar"]
---> Running in c8cf1f8a3293
Removing intermediate container c8cf1f8a3293
---> 2e57c5151161
Successfully built 2e57c5151161
Successfully tagged syt-hosp:v1.0查看镜像
1
2
3
4
5
6[root@localhost service-hosp]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
syt-hosp v1.0 2e57c5151161 4 minutes ago 388MB
openjdk 8-jdk-slim 9afd0fe33df7 7 months ago 296MB
redis latest 7614ae9453d1 7 months ago 113MB
mysql 5.7 c20987f18b13 7 months ago 448MB运行
1
docker run -d -p 18007:18007 --name syt-hosp syt-hosp:v1.0
扩展
docker 分享镜像
查看自己的镜像,把需要的镜像推送到自己的docker厂库
1
2
3
4
5
6
7
8## 登录镜像
docker login
## 给镜像重新打个标签,必须是以自己的docker名开头
docker tag syt-hosp igsshan/syt-hosp
## 推送厂库
docker push igsshan/syt-hosp
附录
-bash: wget: command not found
wget 不存在,需要自己安装
1 | ## 安装 wget |
网络配置
1 | ## 进入到配置目录 |