vagrant + docker: crea rápidamente un entorno de desarrollo

Cree rápidamente el siguiente entorno:

VirtualBox

Entorno VM

Vagabundo

Imagen terminada

$ vagrant box add centos-7 ./centos-7.0-x86_64.box
$ vagrant init centos-7
$ vagrant up
$ vagrant ssh

Modificar el puerto
20200411145929

Administrador

$ su root
# 密码 vagrant
$ whoami

Caso de entrada: https://www.cnblogs.com/lawsssscat/p/12676477.html
Modificar idioma: https://blog.csdn.net/liupeifeng3514/article/details/79005568

estibador

Contenedor virtual

Comandos Docker comunes
Además:
estrategia de reinicio del contenedor Docker:docker inspect 容器ID

Eliminar versión anterior

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Instalación: Tutorial oficial del sitio web https://docs.docker.com/engine/install/centos/ (no recomendado)

# 推荐
$ sudo yum install docker

Abierto

$ sudo systemctl start docker
$ sudo systemctl enable docker

Servicio de imágenes de contenedores en la nube de Alibaba: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://eslh5xx9.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

MySQL

Comience mysql

Manejo de excepciones: error al crear el montaje de superposición en / var / lib / docker / overlay2

$ sudo docker pull mysql:5.7
$ sudo docker images 

$ sudo docker run --name mysql --privileged=true -p 3307:3306 \
-v /dev/mydata/mysql/log:/var/log/mysql \
-v /dev/mydata/mysql/data:/var/lib/mysql \
-v /dev/mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7 
  • -v Asignación de directorio de archivos (volumen)
  • /dev/mydata/mysql/log:/var/log/mysql Registro asignado a local
  • /dev/mydata/mysql/data:/var/lib/mysql Los datos de la base de datos se asignan a local
  • /dev/mydata/mysql/conf:/etc/mysql Archivo de configuración asignado a local
  • MYSQL_ROOT_PASSWORD=root (Obligatorio) Establecer contraseña de base de datos

20200411141732

20200411142940

Ingrese mysql

docker exec -it mysql /bin/bash

20200411143318

Sitio web oficial de Docker sobre MySQL: 5.7: https://hub.docker.com/_/mysql
Sitio web oficial de Docker sobre MySQL: 5.7 Dockerfile: https://github.com/docker-library/mysql/blob/d284e15821ac64b6eda1b146775bf4b6f4844077/5.7/Dockerfile

Modificar codificación

vim  /dev/mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

Reinicia mysql y entra

 docker restart mysql
 docker exec -it mysql /bin/bash

20200411145025

Comience con docker start y start

$ sudo docker update mysql --restart=always

actualización de Docker: actualice la configuración de uno o más contenedores

repetir

Instalar

$ sudo docker pull redis

Activar persistencia de datos

vim /dev/mydata/redis/conf/redis.conf

Configuración de entrada

# 启用AOF持久化
appendonly yes

Inicio

$ sudo docker run --name redis \
-v /dev/mydata/redis/data:/data \
-v /dev/mydata/redis/conf:/etc/redis \
-p 6379:6379  \
-d redis redis-server /etc/redis/redis.conf
$  

Nota: La asignación de ruta aquí no puede ser un archivo, ya que se sobrescribirá como un directorio y se informará un error al comenzar de nuevo

Comience con docker start y start

$ sudo docker update redis --restart=always

Inicio de sesión del cliente

docker exec -it redis redis-cli

20200411190534

docker restart redis

Supongo que te gusta

Origin www.cnblogs.com/lawsssscat/p/12687207.html
Recomendado
Clasificación