最近在滴滴云上看到服务器很便宜,1核2g,1年只需要68块钱。下面是我基于docker部署javaweb服务的过程。目前我见过的最便宜的服务器,阿里云打折的时候都没有这么便宜啊,果断入手。有需要的话可以通过下面链接购买。
滴滴云全线标准型云服务器限时特惠,新购云服务包1个月5折,包3个月4折,包6个月低至3折。注册即送2200元新手大礼包,速度上车。点击查看:https://i.didiyun.com/280pwtzuktg
java项目是基于springboot,使用maven构建的项目,就是普通的springbtoo的web项目,不需要什么特别的配置。
包括了配置nginx请求和ssl证书。
域名是在阿里云申请的,证书也是在阿里云申请的,服务器是在滴滴云购买的。
# 安装docker sudo apt-get install docker.io # 查看权限问题 ll /var/run/docker.sock # 将当前用户添加到docker组中 sudo usermod -ag docker ${user} # 更新docker组 sudo newgrp docker # 重启服务,然后重新登录下用户即可 sudo systemctl restart docker
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'eof' { "registry-mirrors": ["https://d3jht7al.mirror.aliyuncs.com"] } eof sudo systemctl daemon-reload sudo systemctl restart docker
docker pull mysql # 创建基于mysql的docker容器,密码默认为password docker run --name mysql -e mysql_root_password=password -p 3306:3306 -d mysql:5.7 # 进入mysql容器 docker exec -it mysql env lang=c.utf-8 /bin/bash # 进入mysql控制台 mysql -uroot -ppassword
docker pull maven # 创建路径,存在java项目 mkdir -p $home/projects # 项目所在目录 /home/dc2-user/projects/x-lidaoyuan # 创建数据卷,用于共享maven数据 docker volume create --name maven-repo # 查看数据卷 docker volume ls # 创建基于maven的容器,使用数据卷maven-repo,编译项目,在项目目录下生成jar包 docker run -it --rm --name my-maven -v maven-repo:/root/.m2 -v "$home/projects/x-lidaoyuan":/usr/src/mymaven -w /usr/src/mymaven maven:3.6.3-jdk-8 mvn clean package
docker pull java:8 # 创建容器,端口设置为7878 docker run -it --name liaoliaoba -p 7878:7878 -v "$home/projects":/root/projects java:8 # 进入容器(首次创建会自动进入,不需要这行命令) docker exec -it liaoliaoba env lang=c.utf-8 /bin/bash # 并启动项目 java -dfile.encoding=utf-8 -jar /root/liaoliaoba/liaoliaoba-api/target/liaoliaoba-api-0.0.1-snapshot.jar &
docker pull nginx # 创建基于nginx的docker容器,conf.d目录下放置的是配置文件 docker run -it --name nginx -p 80:80 -p 443:443 -v "$home/projects/x-lidaoyuan/x-liaoliaoba/config/nginx/html":/usr/share/nginx/html -v "$home/projects/x-lidaoyuan/x-liaoliaoba/config/nginx/conf.d":/etc/nginx/conf.d -v "$home/projects/x-lidaoyuan/x-liaoliaoba/config/nginx/cert":/etc/nginx/cert -d nginx
文件llba.xxx.top-ssl.conf
docker inspect liaoliaoba
可以查看到该ip地址upstream tomcat_llba { server 172.17.0.3:7878; } server { listen 443 ssl; server_name llba.xxx.top; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; ssl_certificate /etc/nginx/cert/3320062_llba.xxx.top.pem; #将domain name.pem替换成您证书的文件名。 ssl_certificate_key /etc/nginx/cert/3320062_llba.xxx.top.key; #将domain name.key替换成您证书的密钥文件名。 ssl_session_timeout 5m; ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4; #使用此加密套件。 ssl_protocols tlsv1 tlsv1.1 tlsv1.2; #使用该协议进行配置。 ssl_prefer_server_ciphers on; location / { root /usr/share/nginx/html; index index.htm; } location /llba/ { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_pass http://tomcat_llba; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the php scripts to apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the php scripts to fastcgi server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param script_filename /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
docker pull redis docker run -itd --name redis -p 6379:6379 redis
java -dfile.encoding=utf-8 -duser.timezone=gmt+08 -jar /root/projects/x-lidaoyuan/x-liaoliaoba/target/x-liaoliaoba-1.0.0-snapshot.jar &
kill `jps -l | grep x-liaoliaoba | awk '{print $1}'`
/root/stop.sh /root/start.sh
# 连续回车三次,就剩生成公私钥,然后将公钥`id_rsa.pub`放在github上。 ssh-keygen -t rsa -c "example@163.com" git config --global user.name "examplepc" git config --global user.email "example@163.com" # 查看配置是否生效 git config -l
# 切换到目录下 cd /home/dc2-user/projects/liaoliaoba # 拉取镜像 git pull # 构建项目 docker run -it --rm --name my-maven -v maven-repo:/root/.m2 -v "$home/projects/x-lidaoyuan":/usr/src/mymaven -w /usr/src/mymaven maven:3.6.3-jdk-8 mvn clean package # 进入java容器,并重启项目 docker exec -it liaoliaoba env lang=c.utf-8 /bin/bash
如对本文有疑问, 点击进行留言回复!!
linux下文本编辑器vim的使用方法(复制、粘贴、替换、行号、撤销、多文件操作)
网友评论