项目部署(一、docker安装与使用)
linux系统
国内使用daoclound一键安装
curl -sSL https://get.daocloud.io/docker | sh
官方命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
查看docker版本
docker version
systemctl start docker 启动docker
systemctl stop docker 停止
systemctl restart docker 重启
systemctl enable docker.service 开机自启动
容器
docker create 创建容器不启动
docker -d run 创建容器并启动 -d后台启动
docker stop 停止容器运行
docker start 启动容器
docker restart 重启容器
docker rm 删除容器
docker exec 进入容器,不会停止容器
docker ps 显示运行的容器
docker ps -a 显示所有容器
镜像
docker images 显示所有镜像
docker build 使用Dockerfile创建镜像
docker rmi 删除镜像
docker login 登录到一个registry
docker search 从registry仓库搜索镜像
docker pull 下载镜像
docker push 上传镜像
部署springboot项目
一、允许docker远程访问
vi /usr/lib/systemd/system/docker.service
其中ExecStart=加上参数
-H tcp://0.0.0.0:2375
systemctl daemon-reload #重新读取配置
systemctl restart docker #重启docker服务
二、springboot集成docker部署
springboot项目新建等在此不做陈述
1.idea安装docker插件
可连接到docker地址
2.创建Dockerfile文件
#jdk版本 FROM java:8 # 作者 MAINTAINER wangkang #系统编码 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 #设置时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone #这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层 VOLUME /tmp #复制jar包到镜像
#第一个地址是本地相对于Dockerfile文件的地址,我本地Dockerfile放在项目根目录,所以生成的jar包在target下面。
#第二个地址是生成容器后,容器里面放置的位置 ADD target/springboot-0.0.1.jar springboot.jar #暴露端口 EXPOSE 8080 #启动容器时的进程 ENTRYPOINT ["java","-jar","springboot.jar"]
3.配置docker build
在build之前,执行清理maven
clean package -U -DskipTests
配置完成后执行:
可以看到会执行Dockerfile里面的步骤,并成功构建了容器和镜像。(第一次build可能会有些慢,需要build jdk等环境)
目前容器是已经启动了的
我们去linux服务上查看
容器和镜像已经生成
进入容器观察
docker exec -t 785ea7254bd5 bash
容器内部打包的jar包就在里面
外部访问http://10.32.16.196:8080/springboot/index.html
可以访问到地址
exit可退出容器