Maison > Article > Opération et maintenance > Comment créer un entrepôt d’images Docker efficace sur un serveur Linux ?
Comment créer un entrepôt d'images Docker efficace sur un serveur Linux ?
Avec le développement et la popularité de la technologie de conteneurisation, Docker est devenu l'une des solutions de conteneurisation les plus populaires. Lorsque vous utilisez Docker pour créer et gérer des applications à grande échelle, un entrepôt d'images Docker efficace est très important. Non seulement cela accélère le processus de déploiement et de mise à l’échelle, mais cela améliore également la productivité des développeurs. Dans cet article, nous présenterons comment établir un entrepôt d'images Docker efficace sur un serveur Linux et fournirons des exemples de code correspondants.
Tout d'abord, nous devons installer Docker et Docker Registry sur le serveur Linux. Docker peut être installé via le script d'installation officiel. Veuillez vous référer à la documentation officielle de Docker pour le processus spécifique. Après avoir installé Docker, nous pouvons installer Docker Registry à l'aide de la commande suivante :
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
Cette commande démarrera un conteneur Docker Registry sur le serveur et mappera le port 5000 du conteneur au port 5000 du serveur.
Après avoir installé Docker Registry, nous devons effectuer quelques configurations pour le rendre plus efficace. Tout d’abord, nous devons modifier le fichier de configuration Docker pour autoriser les transferts d’images non sécurisés. Modifiez le fichier /etc/docker/daemon.json
et ajoutez le contenu suivant : /etc/docker/daemon.json
文件,添加以下内容:
{ "insecure-registries" : ["your-registry-url:5000"] }
其中,your-registry-url
是你的镜像仓库的URL(例如:my-registry.com)。
接下来,我们需要重新加载Docker的配置文件,以使更改生效:
$ systemctl daemon-reload $ systemctl restart docker
现在,我们可以创建Docker镜像并上传到我们的镜像仓库中了。首先,我们需要构建一个Docker镜像。以下是一个示例的Dockerfile文件:
FROM ubuntu:latest RUN apt-get update && apt-get install -y python3 COPY app.py /app.py CMD ["python3", "/app.py"]
在同一目录下创建一个名为app.py
的文件,并添加一些代码。之后,使用以下命令构建镜像:
$ docker build -t your-registry-url:5000/my-image:1.0 .
将your-registry-url
替换为你的镜像仓库的URL。
构建完成后,我们可以使用以下命令将镜像上传到镜像仓库中:
$ docker push your-registry-url:5000/my-image:1.0
这将会将构建好的镜像推送到我们的镜像仓库中。
当我们需要在其他服务器上部署我们的应用时,可以从镜像仓库中拉取所需的镜像。以下是拉取镜像的命令:
$ docker pull your-registry-url:5000/my-image:1.0
这将会从镜像仓库中拉取对应版本的镜像。
为了保护我们的应用和数据安全,我们可以使用访问控制来限制对我们的私有镜像仓库的访问。以下是一种使用基本身份验证(Basic Authentication)方式来控制访问的示例:
首先,我们需要创建一个密码文件,用于存储用户名和密码。使用以下命令创建密码文件:
$ docker run --rm --entrypoint htpasswd registry:2 -Bbn your-username your-password > auth/htpasswd
其中,your-username
和your-password
是你所定义的用户名和密码。
接下来,我们需要修改Docker Registry的启动命令,指定使用访问控制配置。使用以下命令启动Docker Registry容器:
$ docker run -d -p 5000:5000 --restart=always --name registry -v /path/to/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry:2
其中,将/path/to/auth
rrreee
votre-registry-url
est l'URL de votre référentiel miroir (pour exemple : mon -registry.com). Ensuite, nous devons recharger le fichier de configuration de Docker pour que les modifications prennent effet : rrreee
Nous pouvons maintenant créer l'image Docker et la télécharger sur notre image L'entrepôt est là. Tout d’abord, nous devons créer une image Docker. Voici un exemple de Dockerfile :
rrreee🎜Créez un fichier appeléapp.py
dans le même répertoire et ajoutez du code. Après cela, utilisez la commande suivante pour créer l'image : 🎜rrreee🎜Remplacez your-registry-url
par l'URL de votre registre. 🎜🎜Une fois la construction terminée, nous pouvons utiliser la commande suivante pour télécharger l'image dans l'entrepôt miroir : 🎜rrreee🎜Cela poussera l'image construite vers notre entrepôt miroir. 🎜votre nom d'utilisateur
et votre mot de passe
sont le nom d'utilisateur et le mot de passe que vous avez définis. 🎜🎜Ensuite, nous devons modifier la commande de démarrage de Docker Registry pour spécifier l'utilisation de la configuration du contrôle d'accès. Démarrez le conteneur Docker Registry à l'aide de la commande suivante : 🎜rrreee🎜 Où, remplacez /path/to/auth
par le chemin d'accès à votre fichier de mots de passe stocké. 🎜🎜Maintenant, votre référentiel miroir privé a été configuré avec une authentification de base et seuls les utilisateurs autorisés peuvent y accéder. 🎜🎜Résumé🎜🎜Dans cet article, nous avons présenté comment créer un entrepôt d'images Docker efficace sur un serveur Linux. Nous avons d'abord installé et configuré Docker et Docker Registry, puis démontré comment utiliser l'entrepôt d'images à travers des exemples de création et de téléchargement d'images. Enfin, nous avons expliqué comment utiliser l'authentification de base pour sécuriser un registre. 🎜🎜En établissant un entrepôt d'images Docker efficace, nous pouvons mieux gérer et déployer des applications à grande échelle et améliorer l'efficacité du développement, de l'exploitation et de la maintenance. J'espère que cet article vous sera utile et pourra être utilisé dans des applications pratiques. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!