Instructions avancées Dockerfile pour créer des images Docker

teneur

Apprendre à connaître Dockerfile

Écrivez votre propre image docker :

Écrivez le Dockerfile :

Convertissez le Dockerfile en image :

Affichez votre propre image docker construite

Générez un conteneur à l'aide de votre propre image Docker :

DockerFile

Instructions Dockerfile :

commande docker build .

Voir comment l'image est générée

Formation pratique : Dockerfile construit l'image Nginx :

Écrivez un Dockerfile pour créer une image, et l'image générée est nommée my_build:Nginx1. Créez d'abord le répertoire dockerfile-nginx1 et enregistrez le fichier Dockerfile. Les exigences spécifiques sont les suivantes :

Commencer:

Créez le dossier dockerfile-nginx1, entrez le dossier et écrivez le fichier Dockerfile

Écrivez le contenu du fichier Dockerfile :

Écrivez un autre run.sh dans ce dossier

image de construction de construction de docker

 images docker pour afficher le miroir :

 Créez le conteneur à l'aide de cette image :


Apprendre à connaître Dockerfile

Dockerfile est le fichier de construction utilisé pour construire l'image Docker ! Scénario de commande !

Grâce à ce script, le miroir peut être généré. Le miroir est couche par couche. Le script est une ligne de commandes, et chaque ligne de commandes est une couche.

Dockerfile est orienté développement. Si nous voulons publier des projets et créer des miroirs à l'avenir, nous devons écrire un fichier dockerfile. Ce fichier est très simple.

Les images Dockerfile sont devenues la norme pour la livraison en entreprise et doivent être maîtrisées !

Écrivez votre propre image docker :

Voyez comment une image est générée :

docker history 镜像ID或镜像名

Étapes de construction :

1、编写一个dockerfile文件

2、docker build 构建成为一个镜像

3、docker run 运行镜像

4、docker push 发布镜像

Écrivez le Dockerfile :

#创建一个dockerfile文件,名字可以随机,建议Dockerfile
#文件中的内容:指令(大写) 参数

#实例测试:
#创建目录存放dockerfile文件的目录:
[root@localhost ~]# mkdir docker_test

#进入目录创建dockerfile文件:
[root@localhost ~]# mkdir docker_test
[root@localhost ~]# cd docker_test/
[root@localhost docker_test]# touch dockerfile

#编写dockerfile文件,在文件中写入dockerfile指令:
[root@localhost docker_test]# vim dockerfile
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash

Convertissez le Dockerfile en image :

#使用docker build . 命令将dockerfile文件转为镜像

[root@localhost docker_test]# docker build -f /root/docker_test/dockerfile -t hzw/centos .
Sending build context to Docker daemon  2.048kB

Step 1/4 : FROM centos
 ---> 5d0da3dc9764
Step 2/4 : VOLUME ["volume01","volume02"]
 ---> Running in d4b23ae86ace
Removing intermediate container d4b23ae86ace
 ---> 8f39792fbef7
Step 3/4 : CMD echo "----end----"
 ---> Running in 1bb4751f04ef
Removing intermediate container 1bb4751f04ef
 ---> 2e2bb5e2a502
Step 4/4 : CMD /bin/bash
 ---> Running in 82a0b5905405
Removing intermediate container 82a0b5905405
 ---> 39a1fd86fd73
Successfully built 39a1fd86fd73
Successfully tagged hzw/centos:latest

#由此可以发现docker创建镜像也是一层层创建的。每个命令都是镜像的一层。

Affichez votre propre image docker construite

[root@localhost docker_test]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
hzw/centos            latest    39a1fd86fd73   2 minutes ago   231MB

Générez un conteneur à l'aide de votre propre image Docker :

[root@localhost docker_test]# docker run -it hzw/centos /bin/bash
[root@f62a714bb306 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volume01  volume02

#可以看见我们构建的镜像也是能正常进去使用的,并且我们在dockerfile写指令挂载的目录也在这个容器里。

DockerFile

Dockerfile est utilisé pour créer le fichier image Docker ! Script de paramètre de commande !
Étapes de construction :

1. Ecrire un fichier dockerfile

2. docker build. Le build s'appelle une image

3. docker run exécute l'image

4. Docker push publie des images (DockerHub, Alibaba Cloud Image Warehouse)

Instructions Dockerfile :

FROM    #指定基础镜像,一切从这里开始构建

MAINTAINER    #镜像是谁写的,姓名+邮箱

RUN    #镜像构建的时候需要运行的命令

ADD    #步骤:tomcat镜像,这个tomcat压缩包!添加内容

WORKDIR    #镜像的工作目录

VOLUME    #挂载的目录

EXPOST    #暴露端口配置

CMD    #指定这个容器启动时候要运行的命令,Dockerfile里有多个CMD指令的话,只有最后一个CMD指令会生效,可被替代

ENTRYPOINT    #指定这个容器其董事会要运行的命令,可以追加命令

ONBUILD    #当构建一个被继承dockerfile,这个时候就会运行ONBUILD的指令。是一个触发指令

COPY    #类似ADD,将我们文件拷贝到镜像

ENV    #构建的时候设置环境变量!

commande docker build .

Après avoir créé le fichier dockerfile, nous utilisons la commande docker build pour créer le fichier dans une image.

#命令使用方法:
docker build -f dockerfile文件路径 -t 取个镜像名 .

#参数详解:

-f  dockerfile的文件路径,可以写绝对路径,也可以写相对路径

-t   给构建的镜像取个名字,名字格式: 名字:标签

.    构建上下文的路径 必须写

Voir comment l'image est générée

docker history 镜像ID

 Résumé de la commande Docker :

Formation pratique : Dockerfile construit l'image Nginx :

Écrivez un Dockerfile pour créer une image, et l'image générée est nommée my_build:Nginx1. Créez d'abord le répertoire dockerfile-nginx1 et enregistrez le fichier Dockerfile. Les exigences spécifiques sont les suivantes :

(1) Sur la base des centos miroir :7

(2) Installer Nginx

       a. Installer les dépendances associées

       b. Téléchargez et décompressez Nginx

(3) Le répertoire de travail est défini sur : nginx-1.9.7

(4) Compiler et installer Nginx

(5) Exposer les ports 80 et 443 au monde extérieur

(6) Modifier le fichier de configuration Nginx et le démarrer en mode non démon

(7) Copiez le script de démarrage du service et définissez les autorisations

(8) Exécutez le script run.sh au démarrage du conteneur

Le contenu de run.sh est le suivant :

Commencer:

Créez le dossier dockerfile-nginx1, entrez le dossier et écrivez le fichier Dockerfile

mkdir dockerfile-nginx1
cd dockerfile-nginx1/
vim Dockerfile

Écrivez le contenu du fichier Dockerfile :

#该文件时基于centos7镜像为基础创建的
FROM centos:7  

#下载nginx依赖源
RUN yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel    

#下载wget
RUN yum install -y wget   

#下载nginx
RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz   

#解压nginx
RUN tar -zxvf nginx-1.9.7.tar.gz    

#执行编译命令,通过--prefix=安装目录,指定nginx安装目录
RUN ./configure --prefix=/usr/localinx && make && make install    

#设置工作目录
WORKDIR nginx-1.9.7    

#暴露端口80和443
EXPOSE 80
EXPOSE 443

#将虚拟机文件复制到容器里
ADD run.sh /run.sh

#给run.sh授予可执行权限
RUN chmod 775 /run.sh

#启动容器后执行run.sh脚本
CMD ["/run.sh"]

Écrivez un autre run.sh dans ce dossier

vim run.sh

run.sh里的内容:
#!/bin/bash
/usr/local/nginx/sbin/nginx

image de construction de construction de docker

docker build -t my_build:nginx1 .

 images docker pour afficher le miroir :

 Créez le conteneur à l'aide de cette image :

 Vous pouvez voir que l'image a été démarrée avec succès, que les éléments ont été téléchargés et installés, que le répertoire de travail a été défini et que les fichiers ont été copiés dans le conteneur.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_53466908/article/details/124238064
conseillé
Classement