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
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
docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v mysqldata:/var/lib/mysql mysql:5.7.36
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
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%';
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
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
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
Se encuentra que el directorio de aplicaciones web está vacío.
Después de la modificación, puede visitar la página de Tomcat nuevamente,
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
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
Cree una carpeta en el directorio correspondiente al volumen de datos, escriba index.html y acceda a ip::8080/emp/index.html
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
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
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
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