Utilice Docker para implementar SpringBoot, Mysql, Redis, Nginx y Vue en Ubuntu 16.04
Este artículo toma como ejemplos los proyectos de código abierto SpringBlade y Sabre.
1. Crear una red personalizada
El propósito es colocar los servicios utilizados en el mismo segmento de red para facilitar la comunicación mutua.
docker network create --subnet 172.19.0.0/16 mynetwork
2. Docker instala MySQL, Redis y Nginx
(1) Instalar MySQL
docker pull mysql.5.7.30
cd ~
mkdir docker/mysql/{conf, logs, data} -p
cd docker /mysql
docker run --name mysql_blade --network= mynetwork --ip=172.19.0.6 -p 3307:3306 -v PWD/logs:/var/log/mysql -v PWD/data: /data: rw -v $PWD/conf/redis.conf: /etc/redis/redis.conf:ro -- privilegiod=true --name redis-6389 -d redis redis-server /etc/redis/redis.conf
(3) Instalar Nginx
Para publicar Sabre en Nginx, necesita
docker pull nginx
2.Docker empaqueta SpringBlade
3. Empaquetar Docker y publicar Sabre
(1) Escribir nginx.conf
cd Sabre
tocar nginx.conf y escribir The siguiente contenido:
//inicio de nginx.conf
usuario raíz
trabajador_procesos
error_log /var/log/; nginx/error.log advertencia;
pid /var/run/nginx.pid;.
eventos {
trabajador_conexiones 1024;
}
.spotifylt;/groupIdgt;
lt;artifactIdgt;dockerfile-maven-pluginlt;/artifactIdgt;
lt;versiongt; }lt;/contextDirectorygt;
lt;useMavenSettingsForAuthgt.truelt;/useMavenSettingsForAuthgt;
lt;repositorygt; {docker.registry.name}/ {docker.image.tag}lt; /taggt;
lt;buildArgsgt;
lt;JAR_FILEgt;target/{java.version}lt;/sourcegt;
lt;targetgt;${ java.
lt;/plugingt;
lt;/pluginsgt;
lt;/buildgt;
/p>
(2) configuración de yml
redis y mysql deben ser la misma que la configuración al crear el contenedor:
(3) Crear un almacén privado (usando Harbor )
Cree una hoja de proyecto en la interfaz de administración del puerto y agregue la ruta del proyecto al cargar la imagen a continuación.
(4) Empaquetado
mvn clean install dockerfile: build -Dmaven.test.skip=true
(5) Subir a un almacén privado
Dos métodos:
mvn dockerfile: push
o docker push 10.10.0.127:10080/blade/springblade:0.0.1
Entonces puedes vea la imagen en el backend de administración del puerto.
Para bajarlo:
docker pull 10.10.0.127:10080/blade/springblade:0.0.1
(6) Liberar
cd ~
mkdir docker/blade/app -p
cd docker/blade
docker run -itd --name blade --network= mired --ip=172.19.0.7 -p 9001:9001 -v $PWD/app:/mnt/ 10.10.0.127:10080/ blade/springblade:0.0.1
En este momento, puede pasar localhost : 1889 Visita Sabre.
Además, diferencio el multiinquilino mediante uri. Por ejemplo, localhost:1889 es el inquilino administrador y localhost:1889/test es el inquilino denominado prueba. Esto evita completar la identificación del inquilino en la pantalla de inicio de sesión.