下载安装partainer
拉取镜像
docker pull portainer/portainer-ce
运行容器
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /dockerData/portainer:/data --restart=always --name portainer portainer/portainer-ce
创建管理员
打开链接 ip:9000/#!/init/admin,如图,填写账密,创建管理员
查看docker的容器和镜像
点击左上角的home,即可看到服务器docker的相关配置信息
使用pip安装runlike工具
1、安装python3环境,略
2、pip install runlike
springboot项目部署
1、创建目录存放jar包和Dockerfilemkdir /data/docker-jar
2、准备redis、mysql等镜像,并在单独容易部署,具体步骤略
3、编译jar,并通过filezilla或其他方式上传到/data/docker-jar目录下(注意指定环境)
mvn clean package -Pprod
4、在目录/data/docker-jar
下编辑Dockerfile
1 | vim Dockerfile |
1 | MAINTAINER "your email" |
5、在上传路径下,构建镜像
1 | docker build --no-cache -t your_img:1.0 . |
其中 –no-cache 表示不使用缓存
6、通过命令运行springboot容器
1 | docker run --name your_container -p 8080:8080 --network your_network --ip 172.168.0.3 -d yout_img:1.0 |
更新springboot的jar
1、将新的jar覆盖 /data/docker-jar 目录下的jar
2、在上传路径下,构建镜像
1 | docker build --no-cache -t your_img:1.0 . |
3、停止原容器运行
查看容器运行情况docker ps -a
停止springboot运行所在的容器docker stop a0336b93299e
4、获取当前运行情况runlike a0336b93299e
以下为runlike命令获得的结果
1 | docker run --name=your_container --hostname=c62419fda357 --env=PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=JAVA_HOME=/usr/local/openjdk-8 --env=LANG=C.UTF-8 --env=JAVA_VERSION=8u342 --network=your_network --workdir=/opt -p 8080:8080 --restart=no --runtime=runc --detach=true yout_img:1.0 --privileged=true |
5、使用新容器部署,指定镜像时,会自动更新镜像内容
这里将新容器名改为your_container_new
1 | docker run --name=your_container_new --hostname=c62419fda357 --env=PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=JAVA_HOME=/usr/local/openjdk-8 --env=LANG=C.UTF-8 --env=JAVA_VERSION=8u342 --network=your_network --workdir=/opt -p 8080:8080 --restart=no --runtime=runc --detach=true yout_img:1.0 --privileged=true |
6、删除老容器
①根据docker ps -a获取老容器id,docker rm xxx
②或使用partainer可视化删除
7、将新容器的命名改为老容器
docker rename your_container_new your_container