前言:

        之前研究过一段时间的 docker ,后来长时间没用就忘记了不少,这里重新整理一下,方便以后查询。本博客适用于有开发基础的同学,默认大家了解 docker 和 SpringBoot 。

一、安装 docker

建议使用yum安装,当然过程可能会有问题(centos8 就有问题),有问题问度娘,都不是大事,安装好以后启动。

安装docker
yum install docker-ce

启动docker
service start docker

关闭docker
service stop docker

docker状态
service status docker

二、镜像相关命令

1.首先查询自己需要的镜像,本质上是去 docker hub 上去查询的,也可以直接去 Docker Hub 查询,上面有拉取镜像的命令(私库请另外配置)

docker search [查询关键字]

本机查询如下:

docker 启动 springboot 设定时区 docker运行springboot_centos

去 docker hub 上看一下第一个镜像,里面会有详细信息,还有拉取的命令

docker 启动 springboot 设定时区 docker运行springboot_centos_02

其它跟镜像相关的命令:

查看本机镜像:
docker images 或者 docker image ls

删除本机镜像
docker rmi [镜像ID] 或者 docker image rm [镜像ID]

三、容器相关命令

常规后台启动(-d:后台启动,-i:可交互,-t:支持终端登录)
docker run -idt [镜像ID] /bin/bash

容器命名(--name)、修改端口映射(-p),挂载目录(-v)
docker run --name [容器名字] -itd -p [宿主机port]:[容器port] [镜像ID] /bin/bash

查看活跃的容器
docker ps

查看所有容器(包括不活跃的)
docker ps -a

进入容器(attach命令不建议使用,退出后容器会自动关闭)
docker exec -it [容器ID] bash
docker exec -it [容器ID] bash -c [容器中需要执行的一系列命令]

停止容器
docker stop [容器ID]

启动容器
docker start [容器ID]

查看容器详细信息
docker inspect [容器ID]

容器生成镜像(参数:-a:作者,-m:提交信息)
docker commit [参数] [容器ID] [新镜像名:TAG]

四、记录启动jar的整个流程

上面只写了一些命令,可能有些乱,下面就详细描述一下怎么启动一个 SpringBoot 应用。

1. 拉取镜像

docker pull roboxes/centos8:latest

2.SpringBoot 应用拷贝到linux机器某一目录(jdk1.8.0_251目录是准备的jdk环境,需要拷贝到容器里面用于启动 jar)

docker 启动 springboot 设定时区 docker运行springboot_centos_03

3.编写DockerFile(如果你有一个jdk的镜像,这步可以没有)

FROM roboxes/centos8:latest
  
MAINTAINER xxx@foxmail.com

COPY jdk1.8.0_251/* /usr/java/jdk1.8.0_251/

ENV JAVA_HOME=/usr/java/jdk1.8.0_251
ENV PATH=$PATH:${JAVA_HOME}/bin

CMD ["java","-version"]

TIPS:COPY 和 ADD 命令只能把 DockerFile 同级别的文件或目录拷贝到容器里面

关于 DockerFile 可以查阅其它笔记

4.使用DockerFile生成新镜像

docker build -t centos8-jdk8:1.0 .

docker 启动 springboot 设定时区 docker运行springboot_bash_04

5.查看镜像并启动容器

docker 启动 springboot 设定时区 docker运行springboot_centos_05

镜像查看命令:
docker images

docker run 是运行容器命令,-v是目录挂载参数,参见前述:三、容器相关命令

6.查看容器并启动 jar 包

docker 启动 springboot 设定时区 docker运行springboot_jar_06

docker exec 是进入容器命令,-c后面是进入容器需要执行的命令,参见前述:三、容器相关命令

7.查看启动的进程

在宿主机使用ps查看;进入容器以后也可以查看到该进程

docker 启动 springboot 设定时区 docker运行springboot_java_07

8.完成

五、其它

宿主机ip:172.17.0.1

容器ip:需要使用 docker insect 命令查看