1. 程式人生 > >Docker通過搭建java和tomcat環境

Docker通過搭建java和tomcat環境

搜尋映象
docker search mysql
檢視本地映象
docker images
拉取映象
docker pull mysql:5.6
建立映象
使用Dockerfile檔案建立自己的映象
通過Dockerfile構建自己的映象

首先現在下載jdk1.8和tomcat8的檔案,解壓(tar -zxvf 檔名)
建立一個空目錄將jdk和tomcat放進去,在建立一個Dockerfile檔案。

# 指定操作的映象
FROM centos:7
# 維護者的資訊
MAINTAINER molong
# 執行的命令
RUN mkdir -p /usr/local/
ADD jdk /usr/local/jdk
ADD tomcat /usr/local/tomcat

# 新增環境變數
ENV JAVA_HOME /usr/local/jdk
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

# 暴露8080埠
EXPOSE 8080

# 啟動時執行tomcat
ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -f /dev/null
build映象
docker build -t javaweb:1.0 .
執行docker映象
docker run --name myweb -p 8081:8080 -d javaweb:1.0
進入容器內部
docker exec -it 容器ID /bin/bash
檢視容器執行日誌
docker logs 容器ID
關於Docker的最後CMD或者ENTRYPOINT執行命令後容器自動結束執行,網上解決方案我看了有兩種
  1. 使用& ,後臺執行
  2. 使用&& tail -f /dev/null

我嘗試後,只有tail -f /dev/null 的這個方法才能成功!

ps: 吐槽下,好多CSDN這類部落格的Dockerfile檔案都沒有加 tail -f /dev/null ,也不知道在執行docker ps 如何看到執行的容器,可能我水平不夠啊,哈哈!