docker 常见部署方式

nginx

1
2
3
4
5
6
7
8
# 1. 拉取nginx镜像
docker pull nginx

# 2.运行nginx镜像
# -d 后台运行
# -name 给容器设置一个name
# -p 暴露端口 将容器内的80 暴露到宿主机上的3000上
docker run -d --name nginx01 -p 3000:80 nginx

tomcat

1
2
3
4
5
6
7
8
9
10
11
# 1. 拉取tomcat镜像 -- 拉取指定版本
docker pull tomcat:9.0

# 2.运行tomcat镜像
# -d 后台运行
# -name 给容器设置一个name
# -p 暴露端口 将容器内的8080 暴露到宿主机上的3000上
docker run -d --name tomcat01 -p 3000:8080 tomcat

# --rm 停止容器后删除容器 ( 一般用于测试 )
docker run -d --name --rm tomcat01 -p 3000:8080 tomcat
1
2
# -e 添加环境配置
docker run -d --name elasticsearch02 -p 9999:9300 -p 9998:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch

自定义tomcat image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 编写dockerfile

FROM centos
MAINTAINER long<[email protected]>

ADD OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz /usr/local/
ADD apache-tomcat-9.0.56.tar.gz /usr/local

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.56
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.56
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/lib

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.56/bin/startup.sh

# 构建 image 如果dockerFile的名字为 Dockerfile 的话就可以省略不加 -f 参数
docker build -f Dockerfile -t dittomcat ./


docker run -d -p 9090:8080 --name diytomcat01 -v /home/long/tomcat/test:/usr/local/apache-tomcat-9.0.56/webapps/test -v /home/long/tomcat/logs:/usr/local/apache-tomcat-9.0.56/logs diytomcat

docker run -it -p 9090:8080 --name diytomcat01 -v /home/long/tomcat/test:/usr/local/apache-tomcat-9.0.56/webapps/test -v /home/long/tomcat/logs:/usr/local/apache-tomcat-9.0.56/logs diytomcat /bin/bash