1. Implementación de MySQL
Pasos específicos
1. Busque la imagen de mysql
2. Extraiga la imagen de mysql
3. Cree el contenedor
4. Opere el mysql en el contenedor
1. Buscar espejo de mysql
2. Extraiga el espejo de mysql
3. Crea un contenedor
4. Opere mysql en el contenedor
2.Despliegue de Tomcat
Pasos específicos
1. Busque la imagen de Tomcat
2. Extraiga la imagen de Tomcat
3. Cree el contenedor
4. Utilice una máquina externa para acceder a Tomcat
1. Busque tomcat mirror
docker search tomcat
2. Extrae la imagen de Tomcat
docker pull tomcat
3. Crea un contenedor
# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
Él automáticamente iniciará Tomcat por ti.
Descripción de parámetros:
- ** - p 8080: 8080: ** Asigne el puerto 8080 del contenedor al puerto 8080 del host
** - v $ PWD: / usr / local / tomcat / webapps: ** Monte el directorio actual en el host a las aplicaciones web del contenedor
4. Utilice una máquina externa para acceder a tomcat
Cree una carpeta de prueba en el directorio tomcat y agregue la página index.html a la carpeta
Nota
Esta ruta de acceso es relativa a la ruta raíz del Tomcat que creamos. En el futuro, necesitamos implementar el proyecto en Tomcat. Simplemente coloque el proyecto creado en el directorio Tomcat.
3.despliegue de Nginx
Pasos específicos
1. Busque la imagen de Nginx
2. Extraiga la imagen de Nginx
3. Cree el contenedor, configure la asignación de puertos, la asignación de directorios
4. Utilice una máquina externa para acceder a nginx
1. Buscar espejo Nginx
docker search nginx
2. Extraiga la imagen de Nginx
docker pull nginx
3. Cree un contenedor, configure la asignación de puertos, la asignación de directorios
# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
vim nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Esta oración se ejecuta en el directorio nginx
**
docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx
Descripción de parámetros:
-
-p 80:80 : Asigna el puerto 80 del contenedor al puerto 80 del host.
-
-v $ PWD / conf / nginx.conf: /etc/nginx/nginx.conf : Monte /conf/nginx.conf en el directorio actual del host al contenedor: /etc/nginx/nginx.conf. Directorio de configuración
-
-v $ PWD / logs: / var / log / nginx : monta el directorio de registros en el directorio actual del host en el contenedor / var / log / nginx. Directorio de registros
4. Utilice una máquina externa para acceder a nginx
Precauciones
1. El servicio de red en el contenedor y la máquina externa no se pueden comunicar directamente
2. La máquina externa y el host pueden comunicarse directamente
3. El anfitrión y el contenedor pueden comunicarse directamente
4. Cuando el servicio de red en el contenedor necesita ser accedido por una máquina externa, el puerto del servicio provisto en el contenedor puede ser mapeado al puerto de la máquina host. La máquina externa accede al puerto de la máquina host, accediendo así indirectamente al servicio del contenedor.
5. Esta operación se llama: mapeo de puertos
1. Buscar espejo de mysql
docker search mysql
2. Extraiga el espejo de mysql
docker pull mysql
3. Crea un contenedor
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
Ingrese al contenedor para iniciar sesión en mysql
Utilice el conector de la base de datos para conectarse a mysql
**
Tenga en cuenta que el puerto de conexión aquí es el puerto conectado al servidor, no al contenedor. Asignamos el puerto del servidor 3307 al puerto 3306 del contenedor.
Descripción de parámetros
-
-p 3307: 3306 : asigna el puerto 3306 del contenedor al puerto 3307 del host.
-
-v $ PWD / conf: /etc/mysql/conf.d : Monte conf / my.cnf en el directorio actual del host en /etc/mysql/my.cnf del contenedor. Directorio de configuración
-
-v $ PWD / logs: / logs : monta el directorio de registros en el directorio actual del host en el contenedor / logs. Directorio de registros
-
-v $ PWD / data: / var / lib / mysql : monta el directorio de datos en el directorio actual del host en el contenedor / var / lib / mysql. Directorio de datos
-
** - e MYSQL_ROOT_PASSWORD = 123456: ** Inicializa la contraseña del usuario root.
4. Opere mysql en el contenedor
4. Implementación de Redis
Pasos específicos
1. Busque redis mirror
2. Extraiga redisl mirror
3. Cree un contenedor, establezca la asignación de puertos
4. Utilice una máquina externa para conectarse a redis
1. Busque redis mirror
docker search redis
2. Tire del espejo redisl
docker pull redis:5.0
3. Cree un contenedor y configure el mapeo de puertos
docker run -id --name=c_redis -p 6379:6379 redis:5.0