docker相关概念简单描述:
Docker image:包含运行所需的文件。 Docker container:运行一个镜像就是一个容器。 Docker hub/registry:共享和管理镜像的库。
本文开始之前默认已经安装JDK和maven,如未安装请自行安装。
添加一个测试接口
@RestController public class HelloController { @RequestMapping("/hello") public String hello(String name) { return "hello world,"+name; } }启动项目访问接口正常返回结果,继续往下
在⽬录 src/main/docker 下创建 Dockerfile ⽂件,内容如下
FROM openjdk:8-jdk-alpine VOLUME /tmp ADD docker-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]FROM:表示指定基础镜像 VOLUME /tmp:在宿主机的 /var/lib/docker ⽬录下创建⼀个临时文件并把它链接到容器中的 /tmp 目录 ADD:表示复制文件并重命名
yum install docker
service docker start
chkconfig docker on
启动docker服务 systemctl start docker.service 设置开机启动 systemctl enable docker.service
修改文件/etc/docker/daemon.json
vi /etc/docker/daemon.json
添加如下内容后保存
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"], "live-restore": true }systemctl restart docker
能正常查看版本说明安装成功
docker version
上传项目到服务器,进入项目根目录,进行打包
mvn clean package
执行以上命令打包后,执行jar包,能正常访问后继续往下
java -jar target/spring-boot-docker-1.0.jar
mvn package docker:build
构建成功后查看镜像
docker images
可以看到我们springboot/${project.artifactId}为名称的镜像
运行镜像命令
docker run -p 8080:8080 -t springboot/docker
查看正在运行的镜像
docker ps
访问项目,如下正常访问,说明我们成功通过docker部署了服务
启动docker服务
service docker start 或者 systemctl start docker
关闭docker服务
service docker stop 或者 systemctl stop docker
拉取镜像
docker pull image_name
查看镜像
docker images
删除镜像
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
进入容器
docker exec -it 999318c7d567 /bin/bash
正在运行的容器
docker ps
查看所有容器
docker ps -a
启动、停⽌、重启容器
docker start container_name/container_id docker stop container_name/container_id docker restart container_name/container_id
springboot项目地址
https://github.com/JsonTom888/docker