J'ai appris Docker par moi-même il y a quelque temps, maintenant je vais faire un résumé pour référence future
Docker est un conteneur très puissant. Il est très similaire à une machine virtuelle, mais ce n'est pas une machine virtuelle. Il peut être utilisé pour créer rapidement plusieurs environnements virtuels sans avoir besoin d'allouer des cartes réseau, de la mémoire, des disques durs, etc. pour chaque environnement. N'affecte pas les uns les autres ( mécanisme sandbox ), prend très peu de mémoire, peut être créé en quelques secondes.
Concepts de base à maîtriser
- Conteneur
- Miroir
- Entrepôt
relation entre eux quelque chose comme ça
avec cet environnement docker, nous serons heureux d'installer le déploiement de nos services d'application sur le dessus du conteneur.
- Démarrage du service Docker
a.配置镜像加速(由于从公网获取资源比较慢,需要配置镜像加速器)修改daemon.json配置文件,填写自己的加速器地址
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
通知systemd重载此配置文件
$ systemctl daemon-reload
b.重启docker服务
$ sudo service docker restart
c.查看docker运行状态
$ sudo service docker status (should see active (running))
$ sudo docker run hello-world
- Docker installe MySql
a.安装拉取MySQL 镜像
docker pull mysql:5.7
b.运行 mysql 容器
docker run --restart=always --privileged=true --name mysql -p 3306:3306 -e
MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
c.进入mysql命令行
docker exec -it mysql bash //mysql是启动的服务name
d.登录
mysql -uroot -proot
- Docker installe Redis
a.安装拉取 redis 镜像,拉取redis镜像,未指定tag信息,默认将拉取latest的版本
docker pull redis
b查看所有镜像
docker image
c.创建容器,运行 redis 容器,首先从本地镜像创建容器,本地没有则从公有仓库获取镜像,从该镜像创建
docker run -d -p 6380:6379 --name myredis redis
d.查看所有容器
docker container ls
docker ps -a
进入redis命令行
docker exec -it myredis bash
Le middleware public, les bases de données, etc. peuvent être extraits du docker-hub du réseau public, les applications Web doivent être créées sous la forme de fichiers dockerfile
Ajoutez des extraits d'Internet:
opération de miroir pour
trouver le miroir:
recherchez les détails du miroir sur le site Web du docker hub
docker search Mots-clés pour
télécharger le miroir: la
balise indique la version, certaines versions de miroir affichent la dernière, la dernière version
docker pull miroir nom: TAG
view mirror: # Afficher
toutes les
images de docker de miroirs locaux
Supprimer le miroir:
supprimer le
docker de miroir local spécifié rmi -f ID de miroir ou nom de miroir: TAG
-f signifie forcer la suppression pour
obtenir les méta-informations: #get miroir
meta information, informations détaillées
docker inspecter l'ID de miroir ou le nom de miroir : TAG
Opération de conteneur
Exécution:
docker run --name nom de conteneur -i -t -p port hôte: port de conteneur -d -v répertoire hôte: répertoire de conteneur: ro miroir TD ou nom de miroir: TAG
–name Spécifiez le nom du conteneur, qui peut être personnalisé, Ne spécifiez pas de dénomination automatique
-i Exécutez le conteneur en mode interactif
-t Attribuez un pseudo-terminal, c'est-à-dire la ligne de commande, généralement combinée avec
-p pour spécifier le port mappé, et le port hôte est mappé au port dans le conteneur
-d Exécutez le conteneur en arrière-plan
-v Spécifiez le blocage Chargez le répertoire hôte dans le répertoire du conteneur, la valeur par défaut est rw en mode lecture et écriture, ro signifie une
liste de conteneurs en lecture seule :
docker ps view running containers
docker ps -a -q
-a view all containers (running, not running)
-q only view L'ID du conteneur
démarre le conteneur: l'
ID du conteneur de démarrage du docker ou le nom du conteneur pour
arrêter le conteneur: l'
ID du conteneur d'arrêt du docker ou le nom du conteneur
Enfin, résumez
PS: Il est préférable de jouer dans l'environnement Linux. L'expérience d'installation de Windows est trop mauvaise et inhabituelle. Le support officiel de la version Linux est encore très complet.
Après avoir appris pendant près d'une semaine, l'idée originale était d'utiliser un docker pour remplacer la machine virtuelle, ce qui a également réduit l'occupation de l'espace disque et de la mémoire locale et a facilité le déploiement et le débogage des applications de microservices locaux. L'acquisition d'image est également très rapide. Par conséquent, il s'avère que l'opération est encore plus compliquée à utiliser. L'application doit être écrite dans le dockerfile, qui n'est actuellement pas utilisé dans le projet, puis abandonnée.