Java 及应用程序的镜像
centos java springboot run
新建 Dockerfile
[root@node1 ~]# ls
deviceHandler-0.0.1-SNAPSHOT.jar
dockerfile_handler
jdk-8u251-linux-x64.tar.gz
拷贝命令 docker cp test.jar containerId:/path
[root@node1 ~]# cat dockerfile_handler
FROM centos:latest
MAINTAINER lyd
ADD jdk-8u251-linux-x64.tar.gz /usr/local/ #自动解压
ADD ["deviceHandler-0.0.1-SNAPSHOT.jar", "/usr/local/deviceHandler-0.0.1-SNAPSHOT.jar"]
ENV JAVA_HOME=/usr/local/jdk1.8.0_251
ENV CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
##CMD ["java","-version"]
##RUN echo "JAVA_HOME=/usr/local/jdk1.8.0_251\nCALSSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nPATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
##RUN source /etc/profile
EXPOSE :8020
ENTRYPOINT ["java","-jar", "/usr/local/deviceHandler-0.0.1-SNAPSHOT.jar"]
docker build 构建镜像
[root@node1 ~]# docker run -d handler -p 8020:8020 --net=bridge /bin/bash
[root@node1 ~]# docker build -f dockerfile_handler -t handler .
Sending build context to Docker daemon 274.9MB
Step 1/8 : FROM centos:latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
---> 300e315adb2f
Step 2/8 : MAINTAINER lyd
---> Running in efd28406b3e6
Removing intermediate container efd28406b3e6
---> 73c57dec791d
Step 3/8 : ADD jdk-8u251-linux-x64.tar.gz /usr/local/
---> a069537a5f6d
Step 4/8 : ADD ["deviceHandler-0.0.1-SNAPSHOT.jar", "/usr/local/deviceHandler-0.0.1-SNAPSHOT.jar"]
---> 32f9cbe745f8
Step 5/8 : ENV JAVA_HOME=/usr/local/jdk1.8.0_251 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin
---> Running in 64193fb98c1b
Removing intermediate container 64193fb98c1b
---> e0fc8841cda9
Step 6/8 : RUN echo "JAVA_HOME=/usr/local/jdk1.8.0_251\nCALSSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nPATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
---> Running in af396796b08a
Removing intermediate container af396796b08a
---> 6f1e4fd82a3c
Step 7/8 : EXPOSE :8020
---> Running in 8e949af71ebb
Removing intermediate container 8e949af71ebb
---> 535e4865a3b1
Step 8/8 : ENTRYPOINT ["java","-jar", "/usr/local/deviceHandler-0.0.1-SNAPSHOT.jar &"]
---> Running in fab52895e993
Removing intermediate container fab52895e993
---> cd3015443c86
Successfully built cd3015443c86
Successfully tagged handler:latest
查看新镜像
[root@node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
handler latest cd3015443c86 2 minutes ago 645MB
centos latest 300e315adb2f 3 months ago 209MB
启动容器
docker run -d handler --link activemq
docker run -id --name helloworld -p 8851:8851 hello:latest
Redis Dockerfile 镜像
[root@node2 ~]# cat dockerfile_redis
FROM centos:latest
MAINTAINER lyd
RUN yum install -y net-tools gcc gcc-c++ make openssl openssl-devel
ADD redis-5.0.7.tar.gz /usr/local
RUN cd /usr/local/redis-5.0.7 && make && make PREFIX=/usr/local/redis install
RUN cp /usr/local/redis-5.0.7/redis.conf /usr/local/redis/bin/ && sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/bin/redis.conf && sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/bin/redis.conf
EXPOSE 6379
ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
#end
#创建 docker build -f dockerfile_redis -t redis:5.0.7 .
#启动 docker run -id --name redis -p 6379:6379 redis:5.0.7
#测试 docker exec -it e636b1b32926 /usr/local/redis/bin/redis-cli
ActiveMQ镜像
[root@node2 ~]# cat dockerfile_connect
FROM centos:latest
MAINTAINER lyd
ADD jdk-8u251-linux-x64.tar.gz /usr/local/
ADD ["mqTest-1.0-SNAPSHOT.jar", "/usr/local/mqTest-1.0-SNAPSHOT.jar"]
ENV JAVA_HOME=/usr/local/jdk1.8.0_251
ENV CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#RUN echo "JAVA_HOME=/usr/local/jdk1.8.0_251\nCALSSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nPATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
#RUN source /etc/profile
EXPOSE 5856
ENTRYPOINT ["java","-jar", "/usr/local/mqTest-1.0-SNAPSHOT.jar"]
# test
# docker build -f dockerfile_connect -t connect:latest .
# docker run -d -p 5856:5856 --name connect --link activemq connect:latest
参考资料
【Docker】通过Dockerfile构建Redis镜像
https://blog.csdn.net/l1028386804/article/details/108999477
使用docker-compose 启动容器
https://blog.csdn.net/oopxiajun2011/article/details/106237815/
修改docker服务建立bridge时的MTU配置
Docker Network
https://blog.csdn.net/qq_42000631/article/details/126627139