Docker instala software común (mysql, tomcat, redis, nginx)

La instalación de docker puede ir a mi otro blog docker blog link

instalar mysql

Determinar la versión para tirar del espejo.

docker pull mysql:5.7.36

inserte la descripción de la imagen aquí

iniciar el servicio mysql

Inicie el servicio mysql, ejecútelo en segundo plano, especifique la contraseña del usuario raíz y especifique el nombre del contenedor

 docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.36
  • --name nombre del contenedor
  • -e MYSQL_ROOT_PASSWORD=xxx Especificar una contraseña para el usuario root
  • -d ejecutar en segundo plano
  • -p puerto de host: puerto de contenedor

El comando de ejecución anterior no usa el volumen de datos y persiste los datos en el sistema host

Iniciar mysql + persistencia de volumen de datos

Inicie el servicio mysql, ejecútelo en segundo plano, especifique la contraseña de usuario raíz, especifique el nombre del contenedor y use el volumen de datos para conservar los datos en el sistema host

Nota: De acuerdo con la descripción de dockerhub, se sabe que el directorio de archivos de almacenamiento mysql se coloca en el contenedor en este directorio /var/lib/mysql
inserte la descripción de la imagen aquí

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v mysqldata:/var/lib/mysql mysql:5.7.36

inserte la descripción de la imagen aquí

Modificar la configuración de mysql

Si desea modificar el archivo de configuración de mysql según sus propias necesidades, también puede montar el directorio correspondiente junto
inserte la descripción de la imagen aquí

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v mysqldata:/var/lib/mysql -v mysqlconfig:/etc/mysql/conf.d -v mysqllog:/var/log/mysql mysql:5.7.36
docker exec -it 容器id bash

 mysql -u root -p123456

 SHOW VARIABLES LIKE 'character%';

inserte la descripción de la imagen aquí
Si el conjunto de caracteres se inserta incorrectamente en chino, habrá problemas

Modificar la configuración de la base de datos a través de volúmenes de datos
inserte la descripción de la imagen aquí

 cd /var/lib/docker/volumes/mysqlconfig/_data
vim 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


Asegúrese de reiniciar el contenedor
inserte la descripción de la imagen aquí

instalar tomcat

tirar de la imagen

docker pull tomcat:9.0-jdk8-corretto

Inicie un servicio Tomcat básico

docker run -d -p 8080:8080 --name tomcat tomcat:9.0-jdk8-corretto
  • --name nombre del contenedor
  • -d ejecutar en segundo plano
  • -p puerto de host: puerto de contenedor

Acceso al descubrimiento por dirección IP
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
Se encuentra que el directorio de aplicaciones web está vacío.
inserte la descripción de la imagen aquí
Después de la modificación, puede visitar la página de Tomcat nuevamente,
inserte la descripción de la imagen aquí
o puede extraer directamente la imagen del jefe.

tirar de la imagen

docker pull tomcat:8.0.52-jre8

correr

docker run -d -p 8080:8080 --name tomcat tomcat:8.0.52-jre8

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Montaje automático a través del volumen de datos

Tenga en cuenta que el directorio donde se implementa la aplicación web en el contenedor es /usr/local/tomcat/webapps y el archivo de configuración es /usr/local/tomcat/conf

docker run -d -p 8080:8080 --name tomcat -v apps:/usr/local/tomcat/webapps tomcat:8.0.52-jre8

inserte la descripción de la imagen aquí
Cree una carpeta en el directorio correspondiente al volumen de datos, escriba index.html y acceda a ip::8080/emp/index.html
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Monte el directorio del archivo de configuración

docker run -d -p 8080:8080 --name tomcat -v apps:/usr/local/tomcat/webapps -v confs:/usr/local/tomcat/conf tomcat:8.0.52-jre8

Si la información de configuración no tiene efecto inmediatamente (como el puerto), puede ser necesario crear un nuevo contenedor con el volumen de datos para que tenga efecto.

Montar manualmente tomcat9 y ejecutar

# -v表示挂载,前面的目录为宿主机目录结构,后面的目录为容器中的目录结构
docker run --name tomcat  -p 8080:8080 
-v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps 
-v /usr/local/tomcat/conf:/usr/local/tomcat/conf -d tomcat:9.0-jdk8-corretto 

inserte la descripción de la imagen aquí
Aquí comenzamos otro contenedor Tomcat y luego copiamos un archivo server.xml del contenedor a la carpeta mount conf

docker run --name tomcat1  -p 8080:8080  -d tomcat:9.0-jdk8-corretto 
docker exec -it ad37af bash

inserte la descripción de la imagen aquí
comando de copia

docker cp tomcat1:/usr/local/tomcat/conf/  /usr/local/tomcat/

reiniciar tomcat

docker start tomcat

Debido a que la versión 9 de tomcat webapps está vacía, debe copiar webapps.dist para acceder

 cd webapps.dist/
 cp -r ./* ../webapps
 

inserte la descripción de la imagen aquí
acceso al éxito

instalar redis

tirar de la imagen

docker pull redis:6.2.5

Monte y ejecute contenedores automáticamente


docker run  -p 6379:6379 --name redis --privileged=true -v redisconfig:/etc/redis -v redisdata:/data -d redis:6.2.5 redis-server /etc/redis/redis.conf

Copie el archivo de configuración

 cp ./redis.conf /var/lib/docker/volumes/redisconfig/_data

Recuerde:
no configure daemonize sí, de lo contrario no se puede iniciar el contenedor: deténgase inmediatamente después de iniciar

Pasos de instalación de montaje manual

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

Cree un nuevo archivo redis.conf en el redis/conf recién creado con los siguientes contenidos:

#bind 127.0.0.1 //允许远程连接
protected-mode no 
appendonly yes //持久化
requirepass 123456 //密码

puesta en marcha

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

Supongo que te gusta

Origin blog.csdn.net/qq_44866153/article/details/121799249
Recomendado
Clasificación