赞
踩
1、Dockerfile 指令是按照从上到下执行的
2、如果构建的上一个镜像执行过此步骤,下一个则可以使用缓存(Using cache)
3、从互联网下载内容不会使用缓存
4、添加文件的内容(ADD、COPY)
5、如果上一步修改过,则下面的dockerfile步骤全部不使用缓存。
# 1、创建django目录
# 2、编写Dockerfile django文件
# 3、访问测试
[root@docter django]# mkdir -p /root/django/
[root@docter django]# cd /root/django/
# 1、编写Dockerfile文件 [root@docter django]# vim Dockerfile FROM python:3.6 RUN cd /opt/ &&\ pip install django &&\ django-admin startproject docker &&\ cd docker/ &&\ django-admin startapp aplication WORKDIR /opt/docker EXPOSE 8080 CMD python manage.py runserver 0.0.0.0:8080 # 2、构建镜像 [root@docter django]# docker build -t blog-django:v1 . # 构建镜像 Sending build context to Docker daemon 2.048kB ... Successfully built 75ea06c8060c Successfully tagged blog-django:v1 # 3、启动容器 [root@docter django]# docker run -d -p 8080:8080 blog-django:v1 fc9b4d2b4109b5d1c012d98fc9540ca781396992ad0a3691dc86fe8c0848ee1a # 4、查看容器是否启动 [root@docter django]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc9b4d2b4109 blog-django:v1 "/bin/sh -c 'python …" 2 seconds ago Up 1 second 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp sweet_allen # 5、修改django配置文件 1、从容器内复制配置文件 [root@docter django]# docker cp fc9b4d2b4109:/opt/docker/docker/settings.py . [root@docter django]# ll total 8 -rw-r--r-- 1 root root 240 Jul 30 16:52 Dockerfile -rw-r--r-- 1 root root 3242 Jul 30 16:04 settings.py 2、修改配置文件 [root@docter django]# egrep 'ALLOWED_HOSTS' settings.py ALLOWED_HOSTS = ['*'] # 修改这个配置文件 3、把配置文件复制到容器内 [root@docker1 docker]# docker cp settings.py fc9b4d2b4109:/opt/docker/docker # 6、重新启动容器 [root@docter django]# docker restart fc9b4d2b4109 fc9b4d2b4109 [root@docter django]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc9b4d2b4109 blog-django:v1 "/bin/sh -c 'python …" About an hour ago Up 56 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp sweet_allen # 7、IP访问
# 1、创建java目录
# 2、上传java安装包
# 3、编译java
# 4、访问测试
[root@docter ~]# mkdir java
[root@docter ~]# cd java/
# 1、上传安装包
[root@docter java]# wget http://www.mmin.xyz:81/package/java/springboot-master.zip
# 2、解压并查看
[root@docter java]# unzip springboot-master.zip
[root@docter java]# ll
total 60
drwxr-xr-x 4 root root 108 Jul 24 21:14 springboot-master
-rw-r--r-- 1 root root 58361 Jul 30 15:49 springboot-master.zip
# 1、下载镜像 [root@docter springboot-master]# pwd /root/java/springboot-master [root@docter springboot-master]# docker run -it -v /root/java/:/opt/ maven:3.6-openjdk-8 bash 3.6-openjdk-8: Pulling from library/maven 004f1eed87df: Pull complete 5d6f1e8117db: Pull complete 48c2faf66abe: Pull complete 234b70d0479d: Pull complete d7eb6c022a4e: Pull complete 347c03cf94f8: Pull complete 914dd506c750: Pull complete d7d7fe135d55: Pull complete 71a3a5508994: Pull complete 73dccb1622e9: Pull complete Digest: sha256:ac624d39dd0b7bed827d4b0d1bbaeb457012e0cba0fb6c53ce34b00bed16ec08 Status: Downloaded newer image for maven:3.6-openjdk-8 # 2、容器里面编译安装 root@5d6ce165b40f:/opt/springboot-master# ls Dockerfile mvnw mvnw.cmd pom.xml src root@5d6ce165b40f:/opt/springboot-master# mvn clean package # 预计时间5分钟 [INFO] Scanning for projects... Downloading from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.4.4/spring-boot-starter-parent-2.4.4.pom ... [INFO] Replacing main artifact with repackaged archive [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS #编译成功 [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:41 min [INFO] Finished at: 2021-07-30T11:16:39Z [INFO] ------------------------------------------------------------------------ # 3、构建镜像 [root@docter springboot-master]# docker build -t blog-java-v1 . #构建镜像 Sending build context to Docker daemon 41.79MB Step 1/5 : FROM openjdk:18-jdk 18-jdk: Pulling from library/openjdk 18-jdk: Pulling from library/openjdk 1da50e1664e1: Pull complete e4c8e5a84542: Pull complete 170c51e5216c: Pull complete Digest: sha256:a115ac999336b4bc851abd2ec2eebf8feb01860972e121acd9a74438a5371957 Status: Downloaded newer image for openjdk:18-jdk ---> 0072c1906e21 Step 2/5 : ADD target/*.war /usr/local/webapp/ ---> 1b889632132b Step 3/5 : WORKDIR /usr/local/webapp ---> Running in cb431d072089 Removing intermediate container cb431d072089 ---> 6935bc6e4bf9 Step 4/5 : EXPOSE 8080 ---> Running in 939e6a3fc2bd Removing intermediate container 939e6a3fc2bd ---> 64933fc6f4e6 Step 5/5 : CMD java -jar GitLab-0.0.1-SNAPSHOT.war ---> Running in 7ff37eb57a00 Removing intermediate container 7ff37eb57a00 ---> 9658342afa70 Successfully built 9658342afa70 Successfully tagged blog-java-v1:latest # 4、启动容器 [root@docter springboot-master]# docker run -d -p 8888:8080 blog-java-v1 9929fdafeff8e9d7c842adf7484e0978fabf53713871f2760971efaca5e25ca5 # 5、查看容器是否启动 [root@docter springboot-master]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9929fdafeff8 blog-java-v1 "/bin/sh -c 'java -j…" 15 seconds ago Up 15 seconds 0.0.0.0:8888->8080/tcp, :::8888->8080/tcp eloquent_wilson # 5、访问测试 192.168.15.30:8888
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。