国内下载网站: http://get.daocloud.io 不推荐下载docker版本太旧了
官网下载: https://docs.docker.com/get-started/#download-and-install-docker
或用homebrew
进行下载安装
brew install --cask --appdir=/Applications docker
由于网速原因,可以配置一下国内的镜像加速器
阿里云获取镜像地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了;
配置docker镜像地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
{
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
出现上图所示,docker镜像加速器配置成功
参考菜鸟教程
HelloController.class
/**
*
* Hello Controller
*
*/
@RestController
@RequestMapping
public class HelloController {
@GetMapping
public String hello() {
return "Hello,From Docker";
}
}
application.yml
server:
port: 8080
servlet:
context-path: /demo
# 基础镜像
FROM openjdk:8-jdk-alpine
# 作者信息
MAINTAINER "whitepure"
# 添加一个存储空间 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 暴露8080端口
EXPOSE 8080
# 添加变量,获取target下的jar包; 如果使用dockerfile-maven-plugin,则会自动替换这里的变量内容
ARG JAR_FILE=target/demo-docker.jar
# 往容器中添加jar包
ADD ${JAR_FILE} app.jar
# 启动镜像自动运行程序
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/urandom","-jar","/app.jar"]
在 pom 文件加入 docker 插件
UTF-8
UTF-8
1.8
1.4.9
demo-docker
org.springframework.boot
spring-boot-maven-plugin
com.spotify
dockerfile-maven-plugin
${dockerfile-version}
${project.build.finalName}
${project.version}
target/${project.build.finalName}.jar
前往 Dockerfile 目录,打开命令行执行;
执行 docker build 命令,docker就会根据 Dockerfile 里你定义好的命令进行构建新的镜像;
-t代表要构建的镜像的 tag ,.代表当前目录,也就是 Dockerfile 所在的目录
docker build -t demo-docker .
查看docker镜像列表
docker images
运行该镜像
使用镜像 demo-docker ,将容器的 8080 端口映射到主机的 9090 端口
docker run -d -p 9090:8080 demo-docker
如果要停止docker镜像,首先获取镜像id,然后在用stop命令停止运行镜像
docker ps -a: 显示所有的容器,包括未运行的
whitepure@MacBook-Pro demo-docker % docker ps -a
CONTAINER ID IMAGE ... NAMES
421fcff1be87 demo-docker ... affectionate_nightingale
whitepure@MacBook-Pro demo-docker % docker stop 421fcff1be87
421fcff1be87
如果要删除镜像,也需要先获取镜像id,在用rm命令进行删除
whitepure@MacBook-Pro demo-docker % docker ps -a
CONTAINER ID IMAGE ... NAMES
421fcff1be87 demo-docker ... affectionate_nightingale
whitepure@MacBook-Pro demo-docker % docker rm 421fcff1be87
421fcff1be87