[Teste de software] Docker build + Docker build Serviço MySQL em ambiente Linux (detalhes)


prefácio

compilação da janela de encaixe do Linux

1. O ambiente operacional do docker
é CentOS7 (64 bits), o sistema deve ser de 64 bits e a versão do kernel do sistema é superior a 3,10

Verifique a versão do sistema:

cat /etc/centos-release

Verifique a versão do kernel do sistema:

uname -a

2. instalação do docker
instalar pacotes de dependência

yum install -y yum-utils device-mapper-persistent-data lvm2

Adicionar endereço de origem de download do docker

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

atualize o cache do yum

yum makecache fast

instalar janela de encaixe

yum install docker-ce

Ou especifique a versão instalada do docker

yum install docker-ce-17.12.1.ce

Ver o número da versão do docker

docker version

3. Depois que a instalação for bem-sucedida, o docker precisa ser adicionado ao item de inicialização (o docker é, na verdade, um aplicativo instalado no sistema Linux e o serviço precisa ser iniciado primeiro)

systemctl enble docker  #该命令不能用的话使用下面的命令试一下

systemctl enable docker.service

4. Veja as informações da versão

docker version

5. Inicie a janela de encaixe
para visualizar o status de inicialização da janela de encaixe: systemctl status docker
Iniciar janela de encaixe: systemctl start docker
Desativar janela de encaixe: systemctl stop docker

6. Visualize a janela de encaixe instalada

yum list installed | grep docker

Exclua a imagem do contêiner:

rm -rf /var/lib/docker

Desinstalar docker (excluir todos os dockers instalados)

yum remove docker  docker-client   docker-client-latest  docker-common  docker-latest  docker-latest-logro

Docker constrói serviço MySQL

1. Crie um espelho
e baixe o espelho oficial

docker pull mysql:5.7   # 拉取 mysql 5.7
docker pull mysql       # 拉取最新版mysql镜像

Verifique se o pull foi bem-sucedido

docker images

Crie um novo diretório de montagem

mkdir wxl2020
mkdir -p ~/wlx2020/mysql/conf ~/wlx2020/mysql/data

Iniciar o contêiner

docker run -p 3309:3306 --name mysql2020 -v  ~/wlx2020/mysql/conf:/etc/mysql/conf.d -v ~/wlx2020/mysql/logs:/logs -v  ~/wlx2020/mysql/data:/var/lib/mysql  -e
MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7  

Descrição do comando:
–name: nome do contêiner, chamado mysql2020 aqui  
-p: 3309:3306 Aqui, a porta 3309 do host é mapeada para a porta 3306 do contêiner
-v: relação de mapeamento de diretório entre o host e o contêiner, ":" antes o diretório do host, seguido pelo diretório do contêiner (-v ~/wlx2020/mysql/conf:/etc/mysql/conf.d monta o ~/wlx2020/mysql/conf do host no /etc/mysql/conf.d do contêiner)
- e: informações de configuração, aqui configure a senha de login do usuário root do mysql
-d: nome da imagem de origem, aqui está o mysql: 5.7 operação em segundo plano suspensa

Se nenhum mapeamento for necessário:

sudo docker run -p 3306:3306 --name mysql2020 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

Verifique se o contêiner está funcionando corretamente

docker container ls

Você pode ver o ID do contêiner, imagem de origem do contêiner, comando de início, hora de criação, status, informações de mapeamento de porta, nome do contêiner

2. Conecte-se ao mysql
e entre no contêiner mysql2020 para operar o cliente mysql

docker exec -it mysql2020 bash

Entre no aplicativo mysql e use o usuário root para operar o mysql

mysql -uroot -p123456

Ver mysql> indica que ele entrou no mysql

Depois de entrar no mysql, todos os comandos devem terminar com ;ponto e vírgula

mostrar bancos de dados: ver todas as bibliotecas
mostrar tabelas: ver o nome da tabela
usar: um determinado banco de dados, como usar mysql;
selecionar: instrução de consulta
sair: sair do mysql
sair: sair do contêiner

Use o Navicat para conectar ao mysql
Abra o Navicat para conectar ao mysql e entre na página de configuração

B1

Nome da conexão: pegue qualquer
nome de host ou endereço IP: localhost é o host local e o endereço do host correspondente está em outras máquinas
Porta: 3309, a porta definida pelo contêiner anterior
Nome de usuário: root
Senha: 123456, a senha definida pelo contêiner recipiente anterior

Dicas:
Se o container está rodando normalmente, mas não consegue acessar o mysql, existem vários motivos para a dificuldade geral

bloqueio de firewall

开放端口:
$ systemctl status firewalld
$ firewall-cmd  --zone=public --add-port=3309/tcp -permanent
$ firewall-cmd  --reload
# 关闭防火墙:
$ systemctl stop firewalld

Você precisa entrar no cliente local docker para configurar uma conta de acesso remoto

$ docker exec -it mysql bash
$ mysql -uroot -p123456
mysql> grant all privileges on *.* to root@'%' identified by "password"; 

princípio

# mysql使用mysql数据库中的user表来管理权限,修改user表就可以修改权限(只有root账号可以修改)
 
mysql> use mysql;
Database changed
 
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host                    | user      | password                                                                 |
+--------------+------+-------------------------------------------+
| localhost              | root     | *A731AEBFB621E354CD41BAF207D884A609E81F5E      |
| 192.168.1.1            | root     | *A731AEBFB621E354CD41BAF207D884A609E81F5E      |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
 
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host                    | user      | password                                                                 |
+--------------+------+-------------------------------------------+
| localhost              | root      | *A731AEBFB621E354CD41BAF207D884A609E81F5E     |
| 192.168.1.1            | root      | *A731AEBFB621E354CD41BAF207D884A609E81F5E     |
| %                       | root      | *A731AEBFB621E354CD41BAF207D884A609E81F5E     |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)  
A seguir está o diagrama de sistema de arquitetura de conhecimento de aprendizado de engenheiro de teste de software mais completo em 2023 que eu compilei

1. Da entrada ao domínio da programação Python

Adicione uma descrição da imagem

2. Combate real do projeto de automação da interface

Adicione uma descrição da imagem

3. Combate Real do Projeto de Automação Web

Adicione uma descrição da imagem

4. Combate real do projeto de automação de aplicativos

Adicione uma descrição da imagem

5. Currículo de fabricantes de primeira linha

Adicione uma descrição da imagem

6. Testar e desenvolver o sistema DevOps

Adicione uma descrição da imagem

7. Ferramentas de teste automatizadas comumente usadas

Adicione uma descrição da imagem

Oito, teste de desempenho do JMeter

Adicione uma descrição da imagem

9. Resumo (pequena surpresa no final)

Todo esforço estabelece a base para o eu futuro.Contanto que você persista em perseguir seus sonhos, mesmo que a jornada seja longa, você pode superar muitas dificuldades e finalmente zarpar para encontrar sua própria glória.

Não importa onde você esteja no momento, desde que tenha um sonho em seu coração, siga em frente com firmeza e trabalhe duro, você pode superar o comum e alcançar conquistas extraordinárias. Acredite em sua própria força, abra mão de seus ideais, queime sua paixão na jornada e floresça o esplendor da vida.

A vida é muito curta, o tempo é muito precioso, não se detenha pelo medo, aproveite as oportunidades e siga em frente. Não importa as dificuldades que você enfrente, mantenha sempre a tenacidade e a paixão, e trabalhe duro, só assim você poderá criar sua própria vida brilhante.

Acho que você gosta

Origin blog.csdn.net/shuang_waiwai/article/details/132259577
Recomendado
Clasificación