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

给Spring开发者的Docker备忘录

作者头像
Techeek
发布2018-01-04 11:47:54
5960
发布2018-01-04 11:47:54
举报
文章被收录于专栏:云计算云计算

我最近一直在结合Docker来部署Spring Boot应用。Docker非常酷。我已经学习到很多关于它的知识。

这是我的非官方的Docker 备忘录。谨慎使用!

有任何提示和技巧?下面评论,我会尽力更新。

列出所有的Docker镜像

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

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

代码语言:javascript
复制
docker ps

列出所有的Docker容器

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

启动一个Docker容器

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

停止Docker容器

代码语言:javascript
复制
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 artifact刷新。

代码语言:javascript
复制
#stop docker containers, and rebuild

docker-compose stop -t 1

docker-compose rm -f

docker-compose pull

docker-compose build

docker-compose up -d

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

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

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

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

按照在Docker Compose下运行的一个容器的日志

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

给Spring Boot开发者的Dockerfile的提示

将Oracle Java添加到镜像

对于CentOS / RHEL

代码语言:javascript
复制
ENV JAVA_VERSION 8u31
ENV BUILD_VERSION b13
# 升级系统
RUN yum -y upgrade
RUN yum -y install wget
# 下载并设置JAVA8
RUN 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
RUN yum -y install /tmp/jdk-8-linux-x64.rpm
RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000

添加或者运行一个Spring Boot 可执行Jar包到镜像

代码语言:javascript
复制
VOLUME /tmp
ADD /maven/myapp-0.0.1-SNAPSHOT.jar myapp.jar
RUN sh -c 'touch /myapp.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]

相关的参考资料:

Docker入门

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列出所有的Docker镜像
  • 查看正在运行的Docker容器的日志
  • 删除所有的Docker容器
  • 删除一个Docker镜像
  • 删除所有的Docker镜像
  • SSH到运行的Docker容器中
  • 使用Docker Compose构建容器
  • 使用Docker Compose启动一组容器
  • 跟踪使用Docker Compose运行Docker容器的日志
  • 将正在运行的Docker容器保存为镜像
  • 按照在Docker Compose下运行的一个容器的日志
  • 给Spring Boot开发者的Dockerfile的提示
    • 将Oracle Java添加到镜像
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档