Docker
常用于服务部署的一种方案
准备
1.云服务器或者虚拟机
2.Centos 系统
3.下载XFtp 和 XShell
安装Docker
- 首先删除系统中旧版本Docker或者残留文件
#卸载所有
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
- 先安装必须的包
yum-utils
,没有vpn就更换Docker的仓库地址为阿里镜像库,并更新yum安装包
yum install -y yum-utils
#更换镜像地址为阿里云
yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum 索引安装包
yum makecache fast
- 安装Docker可能会出错,多试几次,安装完查看Docker版本,然后启动Docker服务
#可能会出错,多试几次
yum install docker-ce docker-ce-cli containerd.io
#查看Docker版本
docker --version
#启动docker服务
systemctl start docker
Docker基本操作
#查看镜像
docker images
#查看所有容器
docker ps -a
#查询docker 的详细信息
docker stats dockerid
#删除容器
docker rm -f 容器name|容器id
#删除所有容器
docker rm $(docker ps -aq)
#查看容器运行日志
docker logs 容器名称/容器id
#停止容器运行
docker stop 容器name/容器id
#终止容器后运行
docker start 容器name/容器id
#容器重启
docker restart 容器name/容器id
#删除镜像
docker rmi -f 镜像id (可以根据 docker images 查询)
#删除所有镜像
docker rmi -f $(docker images)
部署java项目jar
- 配置项目
这里我是配置的springcloud项目
首先了解一下docker的运行命令
- docker运行命令
上方使用
${配置名:值}
进行配置是方便docker启动时动态修改属性
docker run -p端口 -d后台运行 --link指定网络host文件映射 -e动态编辑环境变量 -v文件挂载
- 项目打包
这里打成一个jar包(应该都会吧)我就不走流程了
- docker配置
- 根目录下创建
docker
文件夹 - 文件夹下创建
Dockerfile
文件进行配置
下方配置一眼即可知道大概意思,
CMD
表示运行jar包的命令ENV workdir
值为服务器放置jar的文件夹
FROM openjdk:8
ENV workdir=/dockerproject/eureka-server
COPY . ${workdir}
WORKDIR ${workdir}
EXPOSE 8761
CMD ["java","-jar","eureka-server-1.0.jar"]
- 创建
run.sh
启动脚本并编写命令
cd .. && docker build ./eureka-server -t eureka-server:1.0
- 将jar放入文件夹中,最后上传至服务器的
/dockerproject/eureka-server
目录下
- 开始服务器配置
进入到/dockerproject/eureka-server
目录下(该目录中已有我上传的三个文件)
tip:这里需要给run.sh赋权限
chmod 777 run.sh
然后运行
./run.sh
再运行镜像命令
相关属性已在上方做说明
docker run --name eureka-server -p 8761:8761 -e REGISTER_WITH_EUREKA=false -d eureka-server:1.0
查看运行日志
docker logs 项目名
这样就部署成功了
浏览器访问服务器ip+8761即可查看到