Résumé de la compréhension de Docker par les débutants ⑤ ~ Jusqu'au déploiement d'un conteneur Docker sur une instance EC2 ~

introduction

Maintenant que j'ai enfin commencé à apprendre Docker, je vais résumer ma compréhension.

Ce que j'ai fait

Téléchargez le code PC local vers EC2 via Github

Tout d'abord, connectez-vous à l'instance EC2

En supposant que vous ayez une paire de clés dans ~ / .ssh sur votre PC local

cd ~/.ssh
ssh -i "ec2-key.pem" ec2-user@<public-ip>

Créer une clé sur une instance EC2

ssh-keygen -t rsa

Une phrase de passe vous sera demandée, alors entrez la phrase de passe si nécessaire. Si la clé est créée correctement, deux fichiers seront créés sous ~ / .ssh, ʻid_rsa et ʻid_rsa.pub. Puisque ʻid_rsa.pub` est la clé publique, ce contenu sera enregistré dans la clé de déploiement de github. Faites une copie de cette clé publique.

cat ~/.ssh/id_rsa.pub

Enregistrer la clé publique copiée dans Github

Vous pouvez vous inscrire sur la page d'enregistrement de la clé SSH. スクリーンショット 2020-10-24 12.42.23.png

Pour Titre, entrez un texte qui montre le contenu de la clé et collez la clé publique que vous avez copiée précédemment dans Key.

Confirmez depuis EC2 si vous avez pu vous inscrire

ssh -T [email protected]

Clonez le référentiel github depuis EC2 et vous avez terminé!

git clone [email protected]:yourname/yourrepo.git

スクリーンショット 2020-10-24 12.50.06.png

Et docker-compose up!

Avant cela, je suis désolé.

sudo service docker start

Et

docker-compose up

C'est une erreur pour une raison quelconque. .. .. ʻError: Impossible de trouver le module Qu'est-ce que "express"? N'est-il pas correctement écrit dans package.json? .. ..

Creating express-app ... done
Creating nginx-web   ... done
Attaching to express-app, nginx-web
express-app | node:internal/modules/cjs/loader:903
express-app |   throw err;
express-app |   ^
express-app | 
express-app | Error: Cannot find module 'express'
express-app | Require stack:
express-app | - /usr/src/app/index.js
express-app |     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:900:15)
express-app |     at Function.Module._load (node:internal/modules/cjs/loader:745:27)
express-app |     at Module.require (node:internal/modules/cjs/loader:972:19)
express-app |     at require (node:internal/modules/cjs/helpers:88:18)
express-app |     at Object.<anonymous> (/usr/src/app/index.js:1:17)
express-app |     at Module._compile (node:internal/modules/cjs/loader:1083:30)
express-app |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
express-app |     at Module.load (node:internal/modules/cjs/loader:948:32)
express-app |     at Function.Module._load (node:internal/modules/cjs/loader:789:14)
express-app |     at Function.executeUserEntryPoint [as runMain](node:internal/modules/run_main:72:12) {
express-app |   code: 'MODULE_NOT_FOUND',
express-app |   requireStack: [ '/usr/src/app/index.js' ]
express-app | }
nginx-web | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx-web | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx-web | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx-web | 10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
express-app exited with code 1
nginx-web | 10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
nginx-web | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx-web | /docker-entrypoint.sh: Configuration complete; ready for start up
nginx-web | 2020/10/24 02:42:13 [emerg] 1#1: host not found in upstream "app" in /etc/nginx/nginx.conf:18
nginx-web | nginx: [emerg] host not found in upstream "app" in /etc/nginx/nginx.conf:18
nginx-web exited with code 1

À la suite de diverses enquêtes, il semble que quelque chose de difficile se passe.

Suivi des conseils et correction de docker-compose.yml.

docker-compose.yml


     volumes:
      - './app:/usr/src/app'
      - usr/src/app/node_modules #Postscript

C'était plutôt bien!

Recommended Posts

Résumé de la compréhension de Docker par les débutants ⑤ ~ Jusqu'au déploiement d'un conteneur Docker sur une instance EC2 ~
Résumé de la compréhension de Docker par les débutants ④ ~ Jusqu'à ce que l'instance EC2 soit démarrée et que Docker soit installé ~
Résumé de la compréhension de Docker par les débutants ⑥ ~ Jusqu'au déploiement automatique du conteneur Docker sur l'instance EC2 à l'aide de CodeDeploy et CodePipeline ~
Résumé de la compréhension de Docker par les débutants ② ~ docker-compose ~
Résumé de la compréhension de Docker par les débutants ③ ~ Jusqu'à l'API de proxy à l'aide de nginx ~
Résumé de la compréhension de Docker par les débutants ① ~ docker run -p ~
Lancer un conteneur docker sur EC2 (mémorandum personnel)
J'ai essayé d'installer docker sur une instance EC2
Déployer laravel à l'aide de docker sur EC2 sur AWS ① (Créer une instance EC2)
[Java] Compréhension débutante de Servlet-①
Résumé orienté objet par les débutants (Java)
Résumé des procédures de développement dans un conteneur Docker avec VS Code
[Microsoft] Exécutez l'agent Azure Pipelines (VSTS) sur Docker ou Azure Container Instance