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
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
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.
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.
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.