一、1.先下载docker
//1.先删除原本可能存在的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
//2.设置仓库
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//3.下载最新版本的docker
sudo yum install docker-ce docker-ce-cli containerd.io
//4.启动docker
systemctl start docker
或
service docker start
//5.检查docker是否安装成功
docker version
//6.设置开机自启
systemctl enable docker
//7.设置aliyun加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3n4m4jry.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.docker基本使用
docker的基本命令
docker 镜像: ----java中 class
docker容器 : ----java中 class new 出来的实例对象
对于镜像和容器的简单理解,容器是在镜像上创建了可写层,等于是镜像的实例
docker run 镜像名
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash //运行一个容器,等于是给他一个进程号,创建一个新的容器并运行一个命令,是将镜像放入容器并启动容器。
docker exec -it 容器名/容器ID /bin/bash //进入一个容器
docker attach 容器名/容器ID //进入一个容器的方法二
exit //退出容器,对应exec和attach
docker stop 容器ID //对应run
docker start 容器ID/容器名 //启动一个或多个已经被停止的容器。类似用法的还有docker stop和docker restart。
3.下载mysql
docker pull mysql5.7 //拉取mysql镜像,然后启动
docker exec -it mysql5.7 /bin/bash
// 登录mysql:
mysql -uroot -proot
// 修改权限:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
或者:ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
docker 自启动redis和mysql
docker update mysql --restart=always
docker update redis --restart=always
还需下载和配置jdk和nginx
4.启动项目
将jar包通过WinSCP上传到服务器,然后通过指令
nohup java -jar jar包名称 &
后台启动项目,保证不会一关闭xshell就关闭了项目
通过
ps -ef | grep java
查看jar包是否运行
5.打包前端项目
npm run bulid
安装
npm install anywhere -g
前端静态资源服务器,通过任意端口访问文件
anywhere -p 8080
就会在8080启动这个项目,可以访问dist文件夹下的文件
将vue打包的dist放在服务器
vue dist nginx配置: 是在nginx.conf文件中
location / {
root /home/server/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;//刷新不会出现404
}
重启nginx
/nginx -s reload
访问原来ip地址的80端口就好
注意:前端文件上传和导出的 url都需要配置 serverIp
6.可以正常访问
7.还可以修改映射
hosts文件:
C:\Windows\System32\drivers\etc
IP地址替换为服务器IP,localhost替换为任意,比如www.ruirui.com
二、还可以把项目构建成镜像,上面是将docker部署为环境
自己写DockerFile
docker build -t demo:0.0.1 //构建镜像的指令
说明:
-t 参数指定构建成后,镜像的仓库、标签等
demo:0.0.1 demo镜像名称、0.0.1 镜像标签
如何将Docker镜像上传到Docker hub仓库
-
先创建Docker hub账号,记住username password后面验证时,需要使用到。
-
先登录Docker hub
docker login -u username -p passwork
- 将构建好的镜像打上标签
docker tag demo:0.0.1 username/demo:0.0.1
说明:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
本地镜像名称:版本号 DockerHub账号名/镜像名称:版本号
- 之后就可以docker中使用java -jar启动