为Spring开发者准备的Docker备忘录

我最近一直在使用 Docker 去部署 Spring Boot 应用程序。Docker非常的酷。我学到了很多 Docker 的技巧。

这是我非官方的Docker 速查表。谨慎使用!

如果有任何提示和技巧,请在下面评论,我会尝试更新在这篇文章里。

列出所有的Docker容器

docker images -a

列出所有正在运行的Docker容器

docker ps

列出所有的Docker容器

docker ps -a

启动一个Docker容器

docker start <container name>

停止Docker容器

docker stop <container name>

查看正在运行的Docker容器的日志

docker logs <container name>

删除所有的Docker容器

使用 -f 选项也可以删除正在运行的容器。

docker rm  $(docker ps -a -q)

删除一个Docker镜像

docker rmi <image name>

删除所有的Docker镜像

docker rmi $(docker images -q)

通过SSH连接到运行中的Docker容器

好吧,不是技术上的SSH,而是这会给你一个容器中的bash shell。

sudo docker exec -it <container name> bash

使用 Docker Compose 构建容器

在有 docker-compose.yml 文件的目录中运行。

docker-compose build

使用 Docker Compose 启动一组容器

在有 docker-compose.yml 文件的目录中使用这个命令。

docker-compose up -d

这将告诉 Docker 从容器所在的 repo 获取最新版本,而不是使用本地缓存。

docker-compose up -d --force-recreate

如果您使用 Jenkins 进行 CI 构建,并将 Docker 镜像推送到其他主机,或者使用 CI 测试,则这可能会遇到问题。我用Jekins部署了一个 Spring Boot Web 应用程序,发现 Docker 容器没有被最新的 Spring Boot 刷新。

#停止 docker 容器,并重建
docker-compose stop  -t  1
docker-compose rm -f
docker-compose pull
docker-compose build
docker-compose up -d

使用 Docker Compose 跟踪正在运行的 Docker 容器的日志

docker-compose logs -f

将正在运行的 Docker 容器保存为一个镜像

docker commit <image name> <name for image>

在 Docker Compose 下跟踪一个正在运行的容器的日志

docker-compose logs pump <name>

为 Spring Boot 开发者准备的 Dockerfile 提示

把 Oracle Java 添加到一个镜像

CentOS / RHEL

ENV JAVA_VERSION 8u31
ENV BUILD_VERSION b13
#升级系统
运行 yum -y upgrade
运行 yum -y install wget
# 下载并配置 Java 8
运行 wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-$BUILD_VERSION/jdk-$JAVA_VERSION-linux-x64.rpm" -O /tmp/jdk-8-linux-x64.rpm
运行 yum -y install /tmp/jdk-8-linux-x64.rpm
运行 alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
运行 alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
运行 alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000

添加/运行一个可执行的 Spring Boot jar 文件 到 Docker 镜像

VOLUME / tmp
ADD /maven/myapp-0.0.1-SNAPSHOT.jar myapp.jar
运行 sh -c 'touch /myapp.jar'
ENTRYPOINT [ “java”,“-Djava.security.egd = file:/ dev /./ urandom”,“-jar”,“/myapp.jar” ]

相关资料:

Docker入门

本文的版权归 用户1070112 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT探索

docker使用笔记

1)mkdir /etc/systemd/system/docker.service.d

11710
来自专栏搜云库

Docker 容器操作

容器是 Docker 又一核心概念。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行...

244110
来自专栏搜云库

使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上

一个用于构建和推送Docker镜像的Maven插件。

29480
来自专栏散尽浮华

Docker容器学习梳理--应用程序容器环境部署

关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用。 如果我们需要在Docker环境下部署tomcat、re...

47560
来自专栏搜云库

Docker 容器操作

容器是 Docker 又一核心概念。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行...

26290

将Spring Boot应用程序部署到Bluemix

在之前的博客文章中,我介绍了如何通过Swagger在Spring Boot应用程序中记录REST API。下面我将介绍如何将这些应用程序作为Docker容器部署...

24970
来自专栏姚俊刚的专栏

Dockerfile 分享之 SSH Server

Docker 官方网站上给出的示例里面有个 用 Dockerfile 构建 SSH Server 的例子, 我在腾讯云的主机上实验了一下, 中间添加了一些优化,...

1.7K00
来自专栏耕耘实录

Docker极简入门

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

9120
来自专栏乐沙弥的世界

CRS-1006 , CRS-0215 故障一例

    安装好sles 10 sp3 + Oracle 10g RAC之后,在配置监听器时,总是提示主机bo2dbp上的监听服务已经在运行,忽略错误之后手动在b...

8330
来自专栏A周立SpringCloud

Docker系列教程08-Dockerfile实战

本节通过几个例子,来工具Dockerfile的知识。 实战1:使用Dockerfile修改Nginx首页 创建一个Dockerfile,内容如下: FROM n...

3.2K60

扫码关注云+社区

领取腾讯云代金券