前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为Spring开发者准备的Docker备忘录

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

作者头像
用户1070112
发布2018-01-08 17:24:35
6210
发布2018-01-08 17:24:35

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

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

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

列出所有的Docker容器

代码语言:docker
复制
docker images -a

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

代码语言:javascript
复制
docker ps

列出所有的Docker容器

代码语言:docker
复制
docker ps -a

启动一个Docker容器

代码语言:txt
复制
docker start <container name>

停止Docker容器

代码语言:txt
复制
docker stop <container name>

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

代码语言:javascript
复制
docker logs <container name>

删除所有的Docker容器

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

代码语言:javascript
复制
docker rm  $(docker ps -a -q)

删除一个Docker镜像

代码语言:javascript
复制
docker rmi <image name>

删除所有的Docker镜像

代码语言:javascript
复制
docker rmi $(docker images -q)

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

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

代码语言:javascript
复制
sudo docker exec -it <container name> bash

使用 Docker Compose 构建容器

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

代码语言:javascript
复制
docker-compose build

使用 Docker Compose 启动一组容器

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

代码语言:javascript
复制
docker-compose up -d

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

代码语言:javascript
复制
docker-compose up -d --force-recreate

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

代码语言:docker
复制
#停止 docker 容器,并重建
docker-compose stop  -t  1
docker-compose rm -f
docker-compose pull
docker-compose build
docker-compose up -d

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

代码语言:js
复制
docker-compose logs -f

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

代码语言:docker
复制
docker commit <image name> <name for image>

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

代码语言:docker
复制
docker-compose logs pump <name>

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

把 Oracle Java 添加到一个镜像

CentOS / RHEL

代码语言:javascript
复制
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 镜像

代码语言:javascript
复制
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入门

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列出所有的Docker容器
  • 列出所有正在运行的Docker容器
  • 列出所有的Docker容器
  • 启动一个Docker容器
  • 停止Docker容器
  • 查看正在运行的Docker容器的日志
  • 删除所有的Docker容器
  • 删除一个Docker镜像
  • 删除所有的Docker镜像
  • 通过SSH连接到运行中的Docker容器
  • 使用 Docker Compose 构建容器
  • 使用 Docker Compose 启动一组容器
  • 使用 Docker Compose 跟踪正在运行的 Docker 容器的日志
  • 将正在运行的 Docker 容器保存为一个镜像
  • 在 Docker Compose 下跟踪一个正在运行的容器的日志
  • 为 Spring Boot 开发者准备的 Dockerfile 提示
    • 把 Oracle Java 添加到一个镜像
      • 添加/运行一个可执行的 Spring Boot jar 文件 到 Docker 镜像
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档