IDEA empacota a imagem docker e a envia para o servidor

1. Docker permite acesso remoto

1. Modifique o arquivo de serviço Docker

vim /lib/systemd/system/docker.service

Modifique esta linha, abra a porta 2375 e acesse remotamente o docker.
Obs: somente a rede interna, a rede externa não é segura.

#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

2. Recarregue o arquivo de configuração

systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker

3. Enrole diretamente para ver se faz efeito.

curl http://127.0.0.1:2375/info

4. Anexo: comandos relacionados à operação do Docker

O comando systemctl é um comando do gerenciador de serviços do sistema, que é uma combinação dos comandos service e chkconfig.

#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
#查看docker状态
systemctl status docker
#开机启动
systemctl enable docker

2. Idea instala plug-ins e configurações de suporte do docker

1. Baixe a ideia do plug-in docker

Insira a descrição da imagem aqui

2. Configurar a janela de encaixe

Editar configurações Adicionar Dockerfile
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

3. Configure as informações do servidor de conexão:

Nota: Contanto que Connection Successfl seja solicitado abaixo, significa que a conexão foi bem-sucedida;
Insira a descrição da imagem aqui

4. Escreva o arquivo docker

##使用 JDK 8 环境为基础镜像,如果镜像不是本地的将会从 DockerHub 进行下载
FROM anapsix/alpine-java:8_server-jre_unlimited
#作者
MAINTAINER Sxq
#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
#复制上下文目录下的target/demo-0.0.1-SNAPSHOT.jar 到容器里
COPY target/companyProject.jar companyProject.jar

#bash方式执行,使demo-0.0.1-SNAPSHOT.jar可访问
#RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN bash -c "touch /companyProject.jar"

#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8081

#指定容器启动程序及参数   <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","companyProject.jar"]

Coloque dockerfile no diretório raiz
Insira a descrição da imagem aqui

Pontos de conhecimento complementares: O objetivo do EXPOSE

1. Declare no Dockerfile quais portas serão abertas.

2. Ao construir um contêiner, você pode usar -P (P maiúsculo) para mapear portas aleatoriamente. (Se EXPOSE não especificar uma porta, o uso do parâmetro -P não terá efeito)

Para ser mais preciso, EXPOSE no Dockerfile é de pouca utilidade! razão:

1. A porta real exposta é o parâmetro -p ou -P especificado ao criar a execução do contêiner. Primeiro, o parâmetro -p é seguido por [host port: container port]. Então surge o problema. Como ele está em execução, às vezes você ainda precisa especificar a porta, então qual é a utilidade de EXPOSE!

2. Quando criamos a execução do contêiner, o parâmetro especificado é -P. Depois da execução, a porta EXPOSE será mapeada aleatoriamente para diferentes portas do host. Neste momento, o problema surge novamente. Uma vez que está mapeada para portas diferentes , a porta do contêiner é Se for aleatória e incerta, a porta não pode ser conhecida até depois de ser executada, o que é extremamente inconveniente de usar.

Com base na ideia de que a existência é razoável, deixe-me explicar o real propósito do EXPOSE:

EXPOSE pode ser usado, mas não pode ser usado sem ele, porque o Dockerfile não é necessariamente mantido por uma pessoa, ou quando o próximo pessoal de operação e manutenção assumir o projeto, ele poderá compreender a lógica geral por meio dos parâmetros no Dockerfile. Tudo é ainda para padronização.

5. Execute o projeto

Insira a descrição da imagem aqui
Você pode ver as informações do serviço iniciadas por jar no log.
Insira a descrição da imagem aqui

A seguir, olho as informações do meu servidor:
Insira a descrição da imagem aqui
o projeto roda com sucesso e é acessado pela porta 8102.

Resumir

Falarei acima sobre isso hoje. Este artigo apresenta apenas brevemente um dos métodos usados ​​​​pelo IDEA para empacotar a imagem do docker e enviá-la para o servidor! ! ! !

Acho que você gosta

Origin blog.csdn.net/qq_38055805/article/details/127663277
Recomendado
Clasificación