当前位置:   article > 正文

Dockerfile构建djiango和java_django的dockerfile怎么写

django的dockerfile怎么写

Dockerfile

一、Dockerfile 编写案例

1、Dockerfile 指令是按照从上到下执行的

2、如果构建的上一个镜像执行过此步骤,下一个则可以使用缓存(Using cache)

3、从互联网下载内容不会使用缓存

4、添加文件的内容(ADD、COPY)

5、如果上一步修改过,则下面的dockerfile步骤全部不使用缓存。

二、Dockerfile搭建django

# 1、创建django目录
# 2、编写Dockerfile django文件
# 3、访问测试
  • 1
  • 2
  • 3

1、创建django目录

[root@docter django]# mkdir -p /root/django/
[root@docter django]# cd /root/django/
  • 1
  • 2

2、编写dockerfile文件

# 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
  • 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
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

在这里插入图片描述

三、Dockerfile搭建java

# 1、创建java目录
# 2、上传java安装包
# 3、编译java
# 4、访问测试
  • 1
  • 2
  • 3
  • 4

1、创建java目录

[root@docter ~]# mkdir java
[root@docter ~]# cd java/
  • 1
  • 2

2、上传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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3、编译java

# 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

  • 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
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

4、查看java页面

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/553625
推荐阅读
相关标签
  

闽ICP备14008679号