Sem falar no desempenho do Docker no ambiente de produção por enquanto, apenas em termos da capacidade de construir rapidamente o ambiente no processo de aprendizado de novas tecnologias, vale a pena recomendar que você experimente. Este artigo o orienta a instalar o serviço FastDFS com base no Docker.
Mesmo se você não estiver interessado na instalação do FastDFS, você também pode aprender sobre o processo de instalação do Docker (basicamente geral), que é uma das armas mágicas para melhorar a eficiência do aprendizado.
Se você quiser aprender sobre os princípios do FastDFS, consulte " Explicação detalhada dos princípios do FastDFS do sistema de gerenciamento de arquivos ", que o ajudará a compreender e aprender o seguinte conteúdo.
Docker install FastDFS
Em relação à instalação do Docker, diferentes sistemas operacionais têm diferentes métodos de instalação, então não vou repeti-los aqui.Por padrão, o Docker foi instalado e iniciado em seu computador ou servidor.
Vamos dar uma olhada em quais imagens já estão disponíveis na biblioteca Docker. Execute o seguinte comando (sudo pode ser necessário se você não for um administrador):
bogon:~ zzs$ docker search fastdfs
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
season/fastdfs FastDFS 66
luhuiguo/fastdfs FastDFS is an open source high performance d… 25 [OK]
ygqygq2/fastdfs-nginx 整合了nginx的fastdfs 20 [OK]
morunchang/fastdfs A FastDFS image 19
delron/fastdfs 12
moocu/fastdfs fastdfs5.11 9
qbanxiaoli/fastdfs FastDFS+FastDHT单机版 8 [OK]
……
Se estiver instalando outro software, você também pode pesquisar por meio do comando docker search.
O espelho denominado delron / fastdfs é usado aqui. Claro, você também pode escolher outros espelhos. A configuração será diferente. Alguns espelhos não têm configuração relacionada ao Nginx.
Então, vamos puxar para baixo.
docker pull delron/fastdfs
Construir contêiner Tracker
Use a imagem do docker para construir o contêiner do rastreador, que é usado para iniciar o servidor de rastreamento e desempenhar um papel na programação.
docker run -d --network=host --name tracker -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker
O comando de inicialização acima está no Linux. Se for um sistema operacional Mac ou Windows network = host (o contêiner e o host têm o mesmo namespace de rede), ele falhará. Neste momento, você precisa especificar o mapeamento de porta correspondente. O host Docker para este tutorial é o Mac.
docker run -d --name tracker -p 22122:22122 -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker
O rastreador padrão está escutando na porta 22122.
O parâmetro -v monta o diretório local e o diretório / var / fdfs no contêiner.
Aqui você pode ver que o serviço rastreador foi iniciado.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 4 seconds ago Up 3 seconds 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker
Construir um contêiner de armazenamento
Use a imagem docker para construir o contêiner de armazenamento, usado para iniciar o servidor de armazenamento, fornecer capacidade e serviço de backup.
Quando você precisar ser lembrado ao executar os comandos a seguir, o endereço IP correspondente precisa ser modificado para o endereço IP do serviço de rastreador. Como ele é operado no mesmo computador, o endereço de intranet da máquina pode ser usado aqui. 22122 é o rastreador correspondente porta.
Por exemplo, o comando a seguir precisa substituir o endereço IP.
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
Depois de substituir o endereço IP, a operação de execução específica no Mac correspondente:
docker run -d --name storage -p 8888:8888 -p 23000:23000 -e TRACKER_SERVER=192.168.43.143:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
Entre eles, 8888 é a porta de acesso correspondente ao Nginx e 23000 é a porta de serviço de armazenamento.
Neste momento, você pode visualizar o status do serviço docker:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2bc9f8268eda delron/fastdfs "/usr/bin/start1.sh …" 5 seconds ago Up 4 seconds 8080/tcp, 0.0.0.0:8888->8888/tcp, 22122/tcp, 0.0.0.0:23000->23000/tcp storage
15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 2 minutes ago Up 2 minutes 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker
Alterar configuração
Após as etapas acima, o rastreador e o armazenamento são iniciados e concluídos. Podemos inserir o contêiner docker correspondente para verificar a configuração padrão.
O comando para inserir docker é:
docker exec -it 2bc9f8268eda bash
O valor do parâmetro "2bc9f8268eda" é o CONTAINER ID do contêiner que vimos acima para entrar.
Primeiro entre no storage e verifique a configuração de acesso http em seu arquivo de configuração correspondente.O arquivo de configuração é storage.conf no diretório / etc / fdfs. Você pode ver a seguinte configuração na última linha:
# the port of the web server on this storage server
http.server_port=8888
Em outras palavras, a porta de monitoramento padrão nesta imagem docker é a porta 8888. Claro, essa configuração precisa ser modificada. Se você modificá-lo para outra porta, a configuração Nginx correspondente também precisará ser modificada.
Então, onde o Nginx está configurado? Também no contêiner atual. O diretório raiz do arquivo de configuração Nginx é:
/usr/local/nginx/conf/
Você pode visualizar e modificar o nginx.conf nele. Primeiro, olhe para a configuração padrão:
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
O acima é sobre a configuração do servidor, a porta corresponde à porta de armazenamento um-para-um. Se você precisar modificar as duas modificações síncronas.
Por meio da operação acima, você descobrirá que, por padrão, o FastDFS precisará abrir as portas 8888, 23000 e 22122. Se você estiver no sistema operacional Linux, preste atenção à abertura das portas correspondentes pelo firewall.
faça um teste
Após as etapas acima terem concluído a instalação e configuração do FastDFS, vamos colocar uma imagem para verificar.
Primeiro, coloque uma imagem no diretório de montagem local / Users / zzs / developers / temp / storage (o diretório usado no comando acima).
Em seguida, entre no contêiner de armazenamento, entre no diretório / var / fdfs e execute o seguinte comando:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf weixin.jpg
Entre eles, wenxin.jpg é o nome da imagem previamente armazenada no diretório de armazenamento da máquina.
Comandos e diretórios de execução relacionados:
[root@2bc9f8268eda fdfs]# pwd
/var/fdfs
[root@2bc9f8268eda fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf weixin.jpg
group1/M00/00/00/rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpg
Neste ponto, o arquivo foi carregado com sucesso e as informações do caminho do arquivo armazenado no armazenamento serão retornadas.
Visite http: // ip: 8888 / group1 / M00 / 00/00 / rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpg via url para ver a imagem. Aqui, o ip é substituído por localhost ou interface 127.0.0.1.
O efeito de exibição é o seguinte:
Na próxima etapa, você pode digitalizar a imagem, prestar atenção na minha conta oficial [Programa Nova Visão], continuar atualizando o conteúdo de secos, sempre tem o que você deseja.
No próximo artigo, apresentaremos como integrar FastDFS por meio do Spring Boot. É também o último artigo sobre FastDFS.
Link original: " FastDFS baseado na instalação do Docker "