IDEA implementa rapidamente implantação e operação de imagem Docker (para mac M1)

fundo

Como instalar o docker no mac m1 pode ser encontrado em meu artigo anterior. Principalmente depois de mudar para Mac, por exemplo, o Idea se conecta ao docker, realiza o processo de empacotamento do jar do Idea no Maven, coopera com o dockfile para operar o docker para construir a imagem, cria o contêiner e executa o contêiner. Ou seja, o processo que pode ser implementado em uma ideia, desenvolvido, empacotado, implantado em um servidor remoto e executado.

Como habilitar o serviço de conexão remota do Docker

Permitir que a ideia acesse e opere o docker.
O próprio docker baseado em Mac para Mac não suporta acesso remoto e precisa contar com a imagem fornecida por uma ferramenta de rede chamada socat para acesso remoto.

modo sem contêiner

Instale socat: brew install socat
Execute socat:

#打开独立的新Terminal,执行启动socat,一直保持该窗口,不用管.
socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock 
#如果要后台运行,懒得打开新的Terminal,使用 nohup terminalCMD &
#示例: 
# nohup socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock &

Não feche a janela.
Abra um novo terminal e digite: curl http://localhost:2375/info. O seguinte aparece, indicando sucesso
Insira a descrição da imagem aqui

Modo contêiner

Referência: https://blog.csdn.net/qq_31493821/article/details/118371562
Pull: docker pull alpine/socat
Este comando é obtido da descrição do socat no site oficial do docker
. Comando de inicialização:

			docker run -d --restart=always \
			    -p 127.0.0.1:2376:2375 \
			    -v /var/run/docker.sock:/var/run/docker.sock \
			    alpine/socat \
			    tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock

Visite: http://127.0.0.1:2376/info.Se aparecer uma descrição json com informações detalhadas, não haverá problema.
ps: Este método não é recomendado porque uma mensagem de aviso é exibida na interface do docker, informando que socat m1 não é compatível. . Bater facilmente. Mas se você usar o método acima, terá que inserir o comando todas as vezes e não poderá fechá-lo.Definitivamente, não é tão confortável quanto a operação da interface docker.

ideia conectar docker

Insira a descrição da imagem aqui
Não há necessidade de inserir nada, exceto o nome, está tudo bem.
Neste momento, clique com o botão direito na conexão Docker que você acabou de estabelecer na janela de serviço, clique em conectar e
você poderá ver o contêiner, a imagem e operá-lo.
Insira a descrição da imagem aqui

ConfigurarDockfile

Este arquivo de configuração descreve o que é necessário para construir a imagem.

#FROM openjdk:8u212-jre
FROM azul/zulu-openjdk-alpine

MAINTAINER aliyu<[email protected]>

COPY target/myframe-0.0.1-SNAPSHOT.jar /myframe-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar", "/myframe-0.0.1-SNAPSHOT.jar"]

ps: A imagem jdk anterior não foi extraída. Encontrei a imagem azul/zulu-openjdk-alpine no site oficial do docker. Não sei se ela suporta m1. Ela pode ser empacotada normalmente, mas o pacote solicitará isso é compatível com a pergunta m1. . .

Definir a configuração de execução do docker

Implemente pacotes, construa imagens, publique docker, crie contêineres e execute-os.
Insira a descrição da imagem aqui
ps: Há um parágrafo abaixo da imagem. Você precisa configurar e recompilar o projeto de empacotamento antes de executar docker run: clean package -U -DskipTest -P test

Executar configuração

A configuração em execução pode ver todo o rastreamento de log de empacotamento, construção de imagens, publicação do docker, criação de contêineres e execução deles.

outro

Como o projeto web no docker deve ser configurado para acessar o mysql do host?
Durante o teste real, o contêiner acessa o host mysql e o endereço do host é 127.0.0.1. O
host acessa o contêiner no docker e a página insere 127.0.0.1 e adiciona a porta mapeada configurada.

Acho que você gosta

Origin blog.csdn.net/mofsfely2/article/details/119584171
Recomendado
Clasificación