La création d'instance est omise
-#Modifier les autorisations de paire de clés
%Paire de clés chmod 400.pem
-#ssh se connecter à l'instance ubuntu
% ssh -i paire de clés.pem ubuntu@DNS public EC2
yes
Le but de la modification de l'autorité de la paire de clés est d'utiliser la paire de clés «400» et ** en lecture seule ** car la connexion ssh n'est pas possible si elle est réécrite par erreur. Notez que le DNS public d'EC2 change en ** arrêtant ** et ** démarrant ** l'instance!
-#Je n'ai pas d'autorisation d'accès, alors mettez à jour en utilisant sudo.
$ sudo apt-get update
-#installation de docker
$ sudo apt-get install docker.io
-#Appuyez sur Y
-#Vérification de la version du docker
$ docker -—version
À ce stade, ubuntu n'a pas l'autorisation de docker, vous devez donc préfixer la commande avec ** "sudo" ** à chaque fois. Créez donc un groupe appelé "docker" et mettez-y "ubuntu". Ensuite, puisque "ubuntu" appartient au groupe "docker", le docker peut être utilisé et les commandes peuvent être utilisées sans "sudo".
-#Mettez "ubuntu" dans un groupe appelé "docker"
$ sudo glassed -a ubuntu docker
Adding user ubuntu to group docker
-#Il ne sera pas reflété à moins qu'il ne sort une fois
$ exit
-#connexion ssh
% ssh -i paire de clés.pem ubuntu@DNS public EC2
-#Vérifiez la commande docker
$ docker images
Vous pouvez confirmer que la commande docker peut être utilisée.
-#Créer une image Docker à envoyer à EC2
% mkdir temp_folder
% cd temp_folder
% vim Dockerfile
Dockerfile
FROM alpine
RUN touch test
% docker build .
Créez un alpin léger et créez un fichier appelé "test" dedans.
-#docker enregistrer le nom de l'image>Nouveau nom.tar
% docker save b3fc1a6f13e6 > myimage.tar
-#Vérifier le fichier tar
% ls
La commande à utiliser lors du transfert de fichiers.
-#Entrez sftp(L'état où l'hôte et l'instance sont connectés)
% sftp -Je clé paire.pem ubuntu@DNS public EC2
-#mettre le chemin du fichier pour envoyer le chemin du fichier à la destination
sftp> put temp_folder /home/ubuntu
-#Ouvrez un autre terminal, accédez au répertoire où se trouve la paire de clés et établissez une connexion ssh.
% ssh -i mydocker.pem [email protected]
-#Vérifiez s'il y a un fichier
$ ls
Vous pouvez voir que le fichier a été transféré de l'hôte vers EC2.
-#Créer un fichier dans EC2
$ touch test
-#Ouvrez un autre terminal, passez du côté hôte, entrez sftp
% sftp -Je clé paire.pem ubuntu@DNS public EC2
-#Assurez-vous d'avoir un fichier de test
sftp> ls
-#Obtenez le fichier de test
sftp> get test
-#Quitter sftp
sftp> exit
Assurez-vous d'avoir un fichier «test» sur votre bureau
#connexion ssh
% ssh -i paire de clés.pem ubuntu@DNS public EC2
# docker load <Retour à l'image avec le tar Faril
$ docker load < my image.tar
#Confirmer l'image
$ docker images
# docker run(alpine n'a pas de bash donc sh)
$ docker run -it ID d'image sh
#Confirmez que le fichier de test existe avec la commande ls
ls
-#Entrez sftp
% sftp -Je clé paire.pem ubuntu@DNS public EC2
-#Envoyez Dockerfile avec put, si vous ne spécifiez pas la destination, il sera placé dans le répertoire personnel d'ubuntu
%Chemin absolu de put Dockerfile
-#connexion ssh
% ssh -i mydocker.pem [email protected]
-#Vérifiez le Dockerfile
$ ls
-#Créer un contexte de construction
$ mkdir dsenv_build
-#Déplacer Dockerfile
$ mv Dockerfile dsenv_build/
$ cd dsenv_build
-#Lancer le conteneur
$ docker build .
Cependant, ** le stockage (8 Go) ** est insuffisant pour la construction.
# -h à M,Affichage G-byte
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 476M 0 476M 0% /dev
tmpfs 98M 768K 98M 1% /run
/dev/xvda1 7.7G 5.1G 2.7G 66% /
tmpfs 490M 0 490M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 490M 0 490M 0% /sys/fs/cgroup
/dev/loop0 97M 97M 0 100% /snap/core/9804
/dev/loop1 29M 29M 0 100% /snap/amazon-ssm-agent/2012
tmpfs 98M 0 98M 0% /run/user/1000
Avec 8 Go, "/" utilise déjà 5.1G, et le reste n'est que de 2.7GB, donc lors de la construction, il n'y a pas assez de stockage à construire. Par ailleurs, dans le cas de Linux, l'emplacement de stockage de l'objet Docker est "/ var / lib / docker /".
-#connexion ssh
% ssh -i mydocker.pem [email protected]
-#Accédez à l'emplacement du Dockerfile
$ cd dsenv_build
-#Construire à nouveau
$ docker build .
-#Maintenant que le stockage est de 20 Go, vous pouvez créer sans aucun problème.
$ docker run -v~:/work -p 8888:8888 ID de l'image
Il peut être confirmé que la connexion peut être établie avec le DNS public EC2: 8888.
-# $sudo adduser —uid n'importe quel nom d'utilisateur ID(Notez que les utilisateurs ne peuvent pas être créés sans les privilèges sudo)
-#On m'a beaucoup demandé, mais cette fois je vais tout omettre avec enter
$ sudo adduser --uid 1111 aaa
-# /home/Déplacé car un répertoire appelé aaa a été créé
$ cd /home/aaa
-#Créer un autre utilisateur
$ sudo adduser --uid 2222 bbb
-#Revenir au répertoire de base
$ cd /home
-#Vérifiez les autorisations des fichiers.
$ ls -la
-#Vous pouvez vérifier les permissions des fichiers aaa et bbb, et vous pouvez voir que aaa ne peut pas écrire dans le répertoire bbb.
-#Entrez en tant qu'utilisateur aaa
docker run -u 1111 -v /home/aaa:/home/aaa -v /home/bbb:/home/bbb -it ubuntu bash
-#Confirmer l'identifiant
1111
Vous pouvez confirmer qu'il est entré en tant qu'utilisateur de aaa.
-#Déplacer vers le répertoire bbb
$ cd /home/bbb
-#Créer un fichier
$ touch test
Cependant, il peut être confirmé qu'il ne peut pas être créé car il n'a pas l'autorisation d'écriture.
Recommended Posts