1、Tomcat映射宿主主机
// 容器基于宿主主机通信
docker run -d --name ysytomcat -p 9090:8080 tomcat
2、构建Image,并将镜像上传 DockerHub,通过DockerHub下载镜像
- 创建一个Spring Boot项目
- 写一个controller
@RestController
public class DockerController {
@GetMapping("/dockerfile")
@ResponseBody
String dockerfile() {
return "hello docker" ;
}
}
- mvn clean package打成一个jar包
在target下找到"dockerfile-demo-0.0.1-SNAPSHOT.jar" - 在docker环境中新建一个目录"first-dockerfile"
- 上传"dockerfile-demo-0.0.1-SNAPSHOT.jar"到该目录下,并且在此目录创建Dockerfile
- 创建Dockerfile文件,编写内容
FROM openjdk:8
MAINTAINER yueshaoyang
LABEL name="dockerfile-demo" version="1.0" author="yueshaoyang"
COPY dockerfile-demo-0.0.1-SNAPSHOT.jar dockerfile-image.jar
CMD ["java","-jar","dockerfile-image.jar"]
- 基于Dockerfile构建镜像
docker build -t hello-docker-image .
- 基于image创建container
docker run -d --name user01 -p 6666:8080 hello-docker-image
- 查看启动日志docker logs user01
- 宿主机上访问curl localhost:6666/dockerfile
hello docker
- 还可以再次启动一个
docker run -d --name user02 -p 8081:8080 hello-docker-image
将Image文件传到官方DockerHub仓库
Docker pull Tomcat 命令
docker pull Tomcat
其默认从DockerHub中获取相关的数据
那么我们想要把本地的Image传输到网络上,首先必须有一个DockerHub的官方账号
1、首先登录官方的账号
2、进入主页会发现已经运行的Image
3.当官网登录了DockerHub的账户后,使用docker login进行登录,需要登录用户名和密码
4,直接使用docker push 镜像名称 会出现问题
docker push test-docker-image
报了denied: requested access to the resource is denied异常;需要使用 docker tag改名字。
5.首先使用docker tag命令将Docker 修改名称,然后再上传
docker tag test-docker-image yueshaoyang/test-docker-images:v1.0
docker push yueshaoyang/test-docker-images:v1.0
6,如果网络比较好的话,能够直接push成功。
7.从远端拉取
docker pull yueshaoyang/hello-docker-images:v1.0