整体想法:学习Dockerfile的使用,先用最熟悉的tomcat开始练习,做个最简单的尝试
目的:初步认识Dockerfile
1.做一个Dockerfile文件
因为tomcat webapps下没有原始文件,首先需要把webapps.dist下的文件拷贝过去
sixdog@192 DockerfileTom % vim Dockerfile
FROM tomcat
LABEL maintainer="sixd163@163.com"
RUN cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/ && \
echo 'Hello sixdog docker'>/usr/local/tomcat/webapps/ROOT/index.html
2.构建镜像
sixdog@192 DockerfileTom % docker build -t test1 .
[+] Building 0.1s (6/6) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 239B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/tomcat:latest 0.0s
=> [1/2] FROM docker.io/library/tomcat 0.0s
=> CACHED [2/2] RUN cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/ && echo 'Hello sixdog docker'>/usr/local/tomcat/webapps/ 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7accde2a8d54e037e96c36beb71fa13279802a1da5e9f75a381f8dbffbf0b608 0.0s
=> => naming to docker.io/library/test1 0.0s
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
3.查看生成的镜像
sixdog@192 DockerfileTom % docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test1 latest 7accde2a8d54 48 minutes ago 684MB
4.运行镜像,生成容器
sixdog@192 DockerfileTom % docker run --name test1 -p 8080:8080 -d test1
ec45b9615f9f8b49d78d2604b6f25b36323fa1509ce956cf4e83fa4f158bd5bc
sixdog@192 DockerfileTom % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec45b9615f9f test1 "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp test1
sixdog@192 DockerfileTom %