Nous prévoyons d'utiliser docker-compose dans le système de projection vidéo du groupe vidéo dans le cercle, mais comme il y a beaucoup de non-ingénieurs, nous pratiquerons + output pour les expliquer.
C'est Yoshitora. Je voulais créer un outil vidéo avec docker-compose et raspi, donc je vais écrire une introduction à docker-compose ...
C'est peut-être difficile à lire car c'est le premier post de qiita ... je suis désolé ...
En raison du nouveau virus corona, il n'y a pas de nouvelles performances, et même si j'étais affecté au laboratoire, je devais travailler de chez moi ... Le professeur responsable du laboratoire a lu beaucoup de littérature anglaise et m'a dit de m'y habituer, mais je ne pouvais pas faire de mon mieux 24 heures sur 24.
Je voudrais acheter un interrupteur comme pause et jouer à un jeu ...
Bon sang ... Je veux que les revendeurs et les coronas meurent ...
Alors je voulais le faire moi-même. ~~ Les gens qui ont fait des changements à partir de zéro dans le monde, je pense que je vais brûler ou faire exploser ~ ~
Le membre du corps professoral en charge a écrit en relâchement que je devrais toucher à diverses techniques, donc je pense utiliser docker / docker-compose dans l'infrastructure des outils vidéo du groupe, donc je vais y toucher.
En tant que pratique de docker / docker-compose que vous utiliserez certainement à l'avenir sur le système Web, faites quelque chose en l'utilisant,
J'utilise docker-compose comme travail à temps partiel, mais je n'ai rien créé en le configurant à partir de zéro, donc je ferai de mon mieux ...
En parlant de switch, c'est Nintendo, Nintendo crée divers jeux et les sort, n'est-ce pas?
Le plus célèbre d'entre eux est Mario, n'est-ce pas? Alors je vais faire quelque chose qui peut être Mario.
En parlant de Mario, vous détruisez des blocs sur le bord de la route et grattez des pièces et des objets, Je vais donc afficher le bloc sur le PC et créer quelque chose qui fait un son que vous pouvez obtenir des pièces à chaque fois que vous cliquez
docker / docker-compose est toujours géré dans le monde Web, n'est-ce pas? Personnellement, en un mot, je pense que c'est un outil très puissant pour prévenir les problèmes environnementaux (je suis désolé si je fais une erreur).
La partie la plus difficile du développement est de créer le premier environnement, et il arrive souvent que cela ne fonctionne pas si vous installez différentes versions. Cependant, en utilisant docker / docker-compose, vous pouvez construire l'environnement (version etc.) une fois décidé, donc ce n'est pas le cas! !! ~~ Mais il y a une erreur dans Windows 10 pro, rails et docker-compose ... ~~
Même si vous utilisez docker / docker-compose, vous construirez ces environnements dans un premier temps! Cela ne peut pas s'échapper
Cette fois, nous le ferons avec ubuntu 18.04 lts Comment installer ubuntu18.04lts Si vous avez peur de l'installer sur un ordinateur et d'effacer les données d'origine, vous devez utiliser une boîte virtuelle ou quelque chose comme ça (Si vous ne comprenez pas, écrivez un article de commentaire ...)
Tout d'abord, mettez à jour et mettez à niveau ubuntu et installez le logiciel requis pour l'installation de docker. Si tu ne fais pas ça, tu ne peux rien faire
instal-software
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Une brève description du logiciel installé est la suivante
Logiciel | Commentaire |
---|---|
apt-transport-https | Liés à la sécurité. Est-ce un logiciel qui permet la communication https? |
ca-certificates | Ceci est également lié à la sécurité. Est-ce un logiciel qui gère les certificats liés à la connexion SSL? |
curl | Relatif à la communication. Logiciel qui vous permet de vous connecter à Internet manuellement. |
software-properties-common | Est-ce lié à la gestion des logiciels? |
Si vous pouvez l'installer avec succès, beaucoup de caractères apparaîtront et le processus se terminera
Ensuite, installez Clé publique GPG avec la commande suivante afin que docker puisse être installé.
install-GPGkey
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Vous pouvez vérifier si la clé a été installée avec succès avec la commande suivante
check-install-key
sudo apt-key fingerprint 0EBFCD88
À partir du résultat de l'exécution de la commande, si «Docker Release (CE deb) [email protected]» est écrit dans la ligne uid, il réussit.
Ensuite, définissez le référentiel apt afin qu'il puisse être installé avec apt-get. En gros, si vous installez stable de docker, il n'y a pas de problème donc vous pouvez l'installer (il y a d'autres bords et tests !!)
Veuillez noter que la commande diffère selon la faction CPU (?) Vous utilisez ...
x86_64 (processeur Intel ou amd)
x86_Comment faire en 64
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable"
armhf (processeur ARM)
Comment faire avec armhf
sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable
Mettez à jour apt-get pour refléter le résultat de l'installation
update
sudo apt-get update
À ce stade, vous pouvez installer le docker lui-même! Tu l'as fait! Le docker lui-même peut être installé avec la commande suivante
docker-install
sudo apt-get install -y docker-ce
Le docker installé ne peut pas être géré sans les privilèges d'administrateur (sudo), ce qui est très gênant. Alors accordons des privilèges d'administrateur
add-docker-sudo
sudo usermod -aG docker $USER
Après cela, je vais redémarrer
Vous pouvez faire hello world of docker (tester s'il a été installé) avec la commande suivante
hello-world
docker run hello-world
Si vous voyez le résultat suivant avec cette commande, il est réussi! Tu l'as fait!
docker-hello-world-result
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
docker est basé sur l'idée d'instructions immuables. Immuable signifie immuable / inchangé, instruction signifie commande En d'autres termes, si vous décidez d'une commande telle que comment se déplacer uniquement au début, je l'utiliserai à partir de la prochaine fois.
docker fonctionne avec l'image suivante.
--Exécuter un conteneur docker sur le moteur docker (docker lui-même)
Le conteneur Docker fonctionne avec l'image suivante.
Maintenant, installez docker-compose! !! Pour installer docker-compose, installez l'unité principale directement avec CURL, mais comme la destination de l'installation est un endroit qui nécessite des privilèges d'administrateur, installez avec CURL avec des privilèges d'administrateur (sudo).
La commande suivante est une commande d'installation, mais comme la version 1.25.5 de la commande est la version de docker-compose, recherchez la version que vous souhaitez installer à partir de github of docker-compose et réécrivez la commande dans cette version (dernière) release est la dernière version)
install-docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
Comme docker, docker-compose est plus facile à accorder des privilèges d'administrateur, alors accordez-le.
add-docker-compose-sudo
sudo chmod +x /usr/local/bin/docker-compose
Ceci termine l'installation de docker-compose! Tu l'as fait!
Faisons le bonjour monde de docker-compose Créez le fichier docker-compose.yml suivant
docker-compose.yml
version: '3.8'
services:
hello:
image: hello-world:latest
Après l'avoir créé, exécutez la commande suivante dans la hiérarchie où se trouve le fichier pour lancer docker-compose.
docker-compose-run
docker-compose up
Le résultat de l'exécution est presque le même que celui du docker hello world Ce n'est pas un bug trop similaire
Un conteneur peut être géré par docker, tandis que docker-compose peut gérer plusieurs conteneurs. Donc, si vous réécrivez docker-compose.yml comme suit, vous pouvez utiliser docker-compose pour faire hello world de plusieurs dockers à la fois (bien que vous ne le fassiez généralement pas).
docker-compose.yml
version: '3.8'
services:
hello:
image: hello-world:latest
hello2:
image: hello-world:latest
Si vous pouvez gérer plus d'un, vous pouvez configurer une base de données en plus du serveur de site, et la gamme de choses que vous pouvez faire augmentera à la fois,
python est un langage de script facile à utiliser avec de faibles coûts d'apprentissage Il y a 2 séries et 3 séries en python, mais je pense que 3 séries est le courant dominant
Avec python, vous pouvez
--Apprentissage automatique --Développement web
Tu peux faire diverses choses, c'est fort
framework web python J'ai l'impression que beaucoup de gens sont plus plongés dans Django, mais Django sera un développement à grande échelle. Flask, en revanche, peut être développé à petite ou moyenne échelle. Je pense que Flask est plus facile à manipuler même pour la première fois car le coût d'apprentissage est plus faible La Documentation est également légère et facile à lire.
folder/
app.py
Dockerfile
docker-compose.yml
Créez le fichier suivant
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello world"
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5000)
Dockerfile est un fichier qui écrit ce qu'il faut exécuter en premier lorsque docker-compose est lancé.
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
RUN pip install flask
COPY . .
CMD ["flask", "run"]
Le fichier docker-compose.yml est un fichier qui définit l'environnement du conteneur sur docker-compose.
docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "5000:5000"
Vous pouvez le démarrer avec la commande suivante
docker-compose up
Une fois lancé, allez sur http://0.0.0.0:5000 et vous verrez "hello world"! Je l'ai fait!
Vous pouvez arrêter le démarrage avec Ctrl + C
En faisant docker-compose up, le contenu du Dockerfile sera exécuté dans l'ordre à partir du haut. Cette fois, "Installer l'image python", "Créer un répertoire sur le conteneur", "Définir la variable d'environnement (ENV)", "Installer le logiciel nécessaire", "Exécuter", et ainsi de suite (tout à fait) C'est rugueux et cassé, mais ...)
Il a été créé-> https://github.com/KinoshitaYstr/mario Téléchargez depuis github et décompressez Si vous le lancez avec docker-compose up dans le dossier extrait et accédez à http: // localhost: 5000, une boîte sera affichée. Cliquez sur la boîte pour obtenir des pièces (S'il vous plaît laissez-moi savoir si vous voulez une explication du code ...)
Tout le monde est Mario avec ça, yafu
Si vous êtes regardé par le service juridique de Nintendo, cet article restera privé ou supprimé. De plus, je veux que les revendeurs et Corona soient regardés par le service juridique de Nintendo ou qu'ils soient condamnés à une amende par Ichikyo Yen. S'il vous plaît laissez-moi savoir si vous faites une erreur ... je vais la réparer ...
Au revoir…
--Images d'illustrations et de clients (https://www.irasutoya.com/2017/10/blog-post_455.html) --Source sonore de M. Taira Komori (https://taira-komori.jpn.org/freesound.html)
Pendant que j'écrivais ceci, je me demandais ce que je faisais, mais je me demandais ce que je faisais ...
Recommended Posts