我最近一直在结合Docker来部署Spring Boot应用。Docker非常酷。我已经学习到很多关于它的知识。
这是我的非官方的Docker 备忘录。谨慎使用!
有任何提示和技巧?下面评论,我会尽力更新。
docker images -a
列出所有正在运行的Docker容器
docker ps
列出所有的Docker容器
docker ps -a
启动一个Docker容器
docker start <container name>
停止Docker容器
docker stop <container name>
docker logs <container name>
使用-f选项也可以删除正在运行的容器。
docker rm $(docker ps -a -q)
docker rmi <image name>
docker rmi $(docker images -q)
好吧,不是技术上的SSH,但是这会给你一个容器中的bash shell。
sudo docker exec -it <container name> bash
从docker-compose.yml文件的目录运行。
docker-compose build
从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 artifact刷新。
#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 logs -f
docker commit <image name> <name for image>
docker-compose logs pump <name>
对于CentOS / RHEL
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包到镜像
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"]
相关的参考资料: