使用的工具是 XFTP5 XSHELL5
docker pull gmaslowski/jdk 拉取jdk
docker images 查询下载的镜像ID (如:390b58b1be42)
docker run -dit --network=hezhi --name=hzyy-web-server -v /data3/hzyy-web/server:/server -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data3/hzyy/hzyy-web/files:/files 390b58b1be42
// /server /files 为映射后的文件名称
docker pull redis
docker run -dit --network=hezhi --name=redis-pwd -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime redis --requirepass "123456"
docker pull nginx
//拉取一个nginx作为web容器
docker run -dit --network=hezhi --name=hzyy-web-web -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8001:80 -v /data3/hzyy-web/web/:/web nginx
//其中8001 为对外的端口号
//通过default.conf 配置文件配置web要访问的地址
default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /web;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
location /api/ {
proxy_pass http://hzyy-web-server/;
#下边是为获取真实IP所做的设置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect default;
}
}
docker run -dit --network=hezhi --name=hhzyy-web-manager -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8002:80 -v /data1/hzyy/hzyy-web-manager/:/web nginx
cp default.conf /etc/nginx/conf.d/ 替换nginx配置文件(先把文件放进/manager)
好菜 -_-||
记录一下思路,免得以后再忘
部署官网:
1.docker pull nginx 拉取nginx容器
2.使用 docker images 查看是否拉取成功
3.然后使用 docker run -dit --network=hezhi --name=hzyy-web -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8001:80 -v /data5/hzyy/hzyy-web/:/web nginx
其中 后面的nginx就是拉取后的 nginx的名字 或者用 IMAGE ID 也行
4.成功后会返回一长串什么东西 我也不知道 - -
5.然后使用docker ps 查看
你已经成功了一大半了!!!!!!!!!加油!!!!
6. 然后 使用XFTP 把打包后的文件上传到服务器内
7. 使用命令进入文件内
8. 命令 vi default.conf 创建一个名为default.conf 的文件
(为什么新建呢 之前我是在别的项目中拷贝的default.conf文件,然后下载到桌面上,在通过XFTP上传到hzyy-web下,然后再将default.conf文件拷贝到 容器内的/etc/nginx/conf.d/ 下 然后重启容器 容器会处于退出状态,怎么启都起不起来,然后就发现了这种方法可以,就只能通过这种笨方法操作)
9.将 以下这些暗号复制进去 以下红色为要注意的地方,别的可以不用改
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /web;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
location /api/ {
proxy_pass http://hzyy-web-server/;
#下边是为获取真实IP所做的设置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect default;
}
}
10.编辑后
11.然后进入容器内部 docker exec -it hzyy-web sh
12.然后使用 cd web 进入 web目录 然后ls
13.然后通过 mv default.conf /etc/nginx/conf.d/ 将default.conf文件移动到 conf.d目录下
14然后exit 退出docker docker restart hzyy-web 重启这个容器 就ok了
部署 JAVA
1.使用XFTP将项目copy到目录内
注意bin config 如果项目启不了 可能是 bin和config的原因, 建议从别的项目中copy过来 (注意 尽量不要经过windows) linux->linux
2.注意config内的application.yml文件
3. 进入bin ./startup.sh 启动 如果出现 *****failed 可能是权限不足 使用 chmod u+x *.sh 可解决
记录一下部署时遇到的问题!!!!!!
1. 在部署web项目时 default.con文件 如果将windows下的default.conf文件用XFTP上传到服务器中 可能会导致容器一直处于退出状态
解决方法就是 docker rm [CONTAINER ID] 然后重新 创建
2. 解决default.conf 会导致容器处于退出状态 (目前我使用的方法) 在 目录内创建一个default.conf文件,然后将windows下的代码复制到 服务器内的default.conf文件内 然后再进入docker容器内,将default.conf文件移动到 /etc/nginx/conf.d/ 下, 然后重启容器 就ok了
为什么不在docker内编辑呢! 因为docker内好像不支持编辑 所以只能在docker外编辑,然后将编辑后的default.conf文件复制或移动到 docker内的 /etc/nginx/conf.d/
记录一下使用到的命令
docker ps
docker images
docker images ps -a
history | grep "docker run *" 查看 历史命令 docker run
docker exec -it hzyy-web sh
docker rm 085e8e68a09e
docker stop 085e8e68a09e
docker start 085e8e68a09e
docker restart 085e8e68a09e
vi default.conf
mv default.conf /etc/nginx/conf.d/
docker run -dit --network=hezhi --name=hzyy-web -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8001:80 -v /data5/hzyy/hzyy-web/:/web nginx
docker run -dit --network=hezhi --name=hzyy-web-manager -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8002:80 -v /data5/hzyy/hzyy-web-manager/:/web nginx
docker run -dit --network=hezhi --name=hzyy-web-server -v /data3/hzyy-web/server:/server -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data3/hzyy/hzyy-web/files:/files 390b58b1be42