Docker es un motor contenedor de aplicaciones de código abierto que permite a los desarrolladores empaquetar sus aplicaciones y dependencias en un contenedor portátil, y luego publicarlo en cualquier máquina popular con sistema operativo Linux o Windows Virtualización, contenedor Utiliza completamente el mecanismo de sandbox, y habrá no haber interfaz entre ellos.
Un Docker completo consta de las siguientes partes:
-
Cliente de DockerClient
-
Proceso del demonio Docker Daemon
-
Duplicación de imágenes de Docker
-
Contenedor DockerContainer
Desinstalar la ventana acoplable antes que el sistema
sudo yum remove docker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine
Instalar Docker-C
Instalar las dependencias requeridas
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
Establecer la ubicación yum del repositorio docker
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Instalar docker y docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
iniciar ventana acoplable
sudo systemctl start docker
verifique la versión de la ventana acoplable
docker -v
Configurar la ventana acoplable para que se inicie automáticamente al arrancar
sudo systemctl enable docker
Configurar la aceleración de la imagen de la ventana acoplable
Ejecute los siguientes cuatro comandos en secuencia
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://panyr5rh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
instalar mysql en docker
Descargar archivo espejo
docker pull mysql:5.7
Crea una instancia y comienza
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root
MySQL 配置
vi /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
注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析
ventana acoplable instalar redis
Descargar archivo espejo
docker pull redis
Crea una instancia y comienza
mkdir -p /mydata/redis/con
touch /mydata/redis/conf/redis.conf
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
Ver docker ejecutando contenedores
docker ps
reiniciar redis
docker restart redis
conectar redis
docker exec -it redis redis-cli
Establecer el modo de persistencia redis
Ingrese al directorio de configuración de redis
Modifique el archivo para agregar una línea de comando AOF persistente
appendonly yes
Guarde el archivo y reinicie redis
Configurado para reiniciar también redis y mysql cada vez que se reinicia el servidor
ingrese el comando:
sudo docker update mysql --restart=always