Servidor de licença da Autodesk, basta inserir o arquivo gerado no site e iniciar o container.
10K+
Aqui está a formatação do seu texto com a estrutura e o estilo adequados para o Docker Hub:
Consideramos que seu servidor Docker e Docker Compose estão totalmente operacionais.
Vá até a pasta dos seus projetos Docker no servidor raiz:
cd /root/app/
Crie a pasta do projeto e entre nela:
mkdir 10-MLTOOLS_Auto_cad && cd 10-MLTOOLS_Auto_cad
Crie o arquivo que conterá as instruções para gerar a imagem (Dockerfile):
nano Dockerfile
Adicione ao arquivo o conteúdo:
FROM rockylinux/rockylinux
LABEL maintainer="[email protected]"
ARG NLM_URL=https://damassets.autodesk.net/content/dam/autodesk/www/files/linux/nlm11-19-4-1-ipv4-ipv6-linux64.tar.gz
ARG TEMP_PATH=/tmp/flexnetserver
EXPOSE 2080
EXPOSE 27000-27009
# Atualiza o sistema e instala pacotes necessários
RUN yum update -y && \
yum install -y tar redhat-lsb-core wget && \
yum clean all
RUN mkdir -p ${TEMP_PATH} && cd ${TEMP_PATH} && \
wget --progress=bar:force ${NLM_URL} && \
tar -zxvf *.tar.gz && rpm -vhi *.rpm && \
rm -rf ${TEMP_PATH}
# Cria um grupo e um usuário específico para executar o lmgrd
RUN groupadd -r lmadmin && \
useradd -r -g lmadmin lmadmin
# Cria pasta onde será escrito os log no arquivo lmgrd.log
RUN mkdir -p /var/logs/flexlm /usr/local/flexlm/licenses /opt/flexnetserver && \
touch /var/logs/flexlm/debug.log && \
chown -R lmadmin:lmadmin /usr/local/flexlm /var/logs/flexlm /var/logs/flexlm/debug.log
# Define o diretório de trabalho onde o lmgrd será executado
WORKDIR /opt/flexnetserver
# Define o usuário para executar o lmgrd
USER lmadmin
# Adiciona os comandos do flexlm ao PATH
ENV PATH="${PATH}:/opt/flexnetserver/"
# lmgrd -z flag é necessário para 'Executar em primeiro plano' para que o Docker não entre em modo sleep
ENTRYPOINT ["lmgrd", "-z"]
# Comando para iniciar o servidor de licença
CMD ["-c", "/usr/local/flexlm/licenses/license.dat/", "-l", "/var/logs/flexlm/debug.log"]
Edite o arquivo do Docker Compose:
nano docker-compose.yml
Adicione ao arquivo o conteúdo abaixo (editando conforme necessário):
version: '3.8'
services:
rockylinux:
build: . # Indica que o Dockerfile está no diretório atual
image: wbh16/iba-lic-cad:latest # Nome e tag da imagem que será gerada
container_name: Lic_AutoDesk # Nome do container
restart: unless-stopped
cap_add:
- ALL
#################################### Estes itens serão editáveis ################################
hostname: "iba_lic_autod" # Define o hostname fixo
mac_address: "11:22:33:44:55:6F" # Defina o endereço MAC fixo aqui separados por dois pontos ":"
networks:
vlan_rede_admin:
ipv4_address: "10.10.10.200"
#################################################################################################
volumes:
- ./license.dat:/usr/local/flexlm/licenses/license.dat:ro
ports:
- 2080:2080
- 27000-27009:27000-27009
# logging:
# driver: "syslog"
# options:
# syslog-address: "udp://10.10.10.13:514"
# tag: IBA-Lic_AutoCad
networks: # Verificar na documentação da instalação do Docker onde a rede vlan_rede_admin é criada
vlan_rede_admin:
external: true
Crie um script para facilitar o início do serviço:
nano Instala.sh
Adicione ao arquivo o conteúdo:
#!/bin/bash
# Nome da rede Docker
NETWORK_NAME="vlan_rede_admin"
# Sub-rede e gateway
SUBNET="10.10.10.0/20"
GATEWAY="10.10.10.1"
# Nome do projeto Docker Compose (ajustar conforme necessário)
COMPOSE_PROJECT_NAME="Lic_AutoDesk"
# Função para iniciar tudo
start() {
# Verifica quantidade de arquivos .lic
lic_count=$(ls -1 *.lic 2>/dev/null | wc -l)
if [ $lic_count -eq 1 ]; then
# Renomeia o arquivo .lic para license.dat
mv *.lic license.dat
echo "Arquivo .lic renomeado para license.dat."
elif [ $lic_count -gt 1 ]; then
echo "Existem $lic_count arquivos .lic na pasta. Deve existir apenas um arquivo de licença na pasta."
exit 1
else
echo "Nenhum arquivo .lic encontrado na pasta."
fi
dat_count=$(ls -1 *.dat 2>/dev/null | wc -l)
if [ $dat_count -eq 1 ]; então
# Ajustando permissões dos arquivos .lic
chmod 755 *.dat
elif [ $dat_count -gt 1 ]; então
echo "Existem $dat_count arquivos .dat na pasta. Deve existir apenas um arquivo de licença na pasta."
exit 1
else
echo "Nenhum arquivo .dat encontrado na pasta."
exit 1
fi
# Verifica se a rede já existe
if ! docker network ls | grep -q "$NETWORK_NAME"; então
echo "A rede $NETWORK_NAME não existe. Criando a rede..."
docker network create -d bridge --subnet=$SUBNET --gateway=$GATEWAY $NETWORK_NAME
else
echo "A rede $NETWORK_NAME já existe."
fi
# Executa o Docker Compose
docker-compose build && \
docker-compose up -d
}
# Função para parar tudo
stop() {
docker-compose down
}
# Função para parar e limpar tudo relacionado ao projeto
stop_limpa() {
docker-compose down --volumes
docker rmi $(docker images -q "${COMPOSE_PROJECT_NAME}_*") -f
echo "Containers, imagens e volumes relacionados ao projeto foram removidos."
}
# Case para lidar com os argumentos
case "$1" em
start)
start
;;
stop)
stop
;;
stop_limpa)
stop_limpa
;;
*)
echo "Uso: $0 {start|stop|stop_limpa}"
exit 1
;;
esac
exit 0
Se você estiver no Windows e precisa copiar para o servidor, use o FileZilla com comunicação via SFTP. Conecte-se ao servidor Docker e envie o arquivo de licença gerado para a pasta do projeto, que neste caso é a pasta /root/app/10-MLTOOLS_Auto_cad.
Para obter o hostname do servidor:
docker exec Lic_AutoDesk /opt/flexnetserver/lmutil lmhostid hostname
lmutil - Copyright (c) 1989-2023 Flexera. All Rights Reserved.
The FlexNet host ID of this machine is "HOSTNAME=iba_lic_autod"
Para obter o endereço MAC do servidor:
docker exec Lic_AutoDesk /opt/flexnetserver/lmutil lmhostid
lmutil - Copyright (c) 1989-2023 Flexera. All Rights Reserved.
The FlexNet host ID of this machine is "7d0b3c2d4e6f"
Verificar se o container está rodando:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16c5f5891512 wbh16/iba_lic_cad:1.0 "lmgrd -z -c /usr/lo…" 10 hours ago Up 10 hour Lic_AutoDesk
Verificar se o AutoCAD está usando o servidor: Na aba superior, clique em "Efetuar login" e vá à última opção "Gerenciar licença...". Abrirá uma tela com as informações.
Sinta-se à vontade para ajustar o conteúdo conforme necessário para refletir as especificidades do seu projeto e servidor.
Content type
Image
Digest
sha256:4cfde3f41…
Size
197.6 MB
Last updated
almost 2 years ago
docker pull wbh16/iba_lic_cad:k8s