Gostaria de que meu container SQL Server criado pelo contaner do jenkins consiga obter a visualização de arquivos .bak do meu host e assim possa efetuar a restauração de alguns bancos. Como consigo realizar esta tarefa?
- Detalhes do meu ambiente:
Eu utilizo windows 10 pro e o WSL (windows subsystem for linux).
Criei um container jenkins no docker que monta minha infra local de ambiente dev.
Ele é o ambiente ‘host’ do container do Sql Server e de quase toda a minha infra.
Sobre os daemons do host e do container eu efetuei bind entre esses daemons.
docker-compose do meu jenkins
version: "3.7"
#Volume to sql-server-container-dev
volumes:
jenkins-dev:
name: jenkins-dev
services:
jenkins-dev-service:
container_name: jenkins-dev
hostname: windows-host
build:
context: .
dockerfile: Dockerfile
image: jenkins-image-dev
ports:
- "8080:8080"
volumes:
#Bind o daemon docker do host para o container
- '//var/run/docker.sock:/var/run/docker.sock'
#Dependencia abstrata
- 'C:/Projetos/infra_agil/jenkins:/jenkins'
docker compose do sql server
version: "3.7"
networks:
sql-server-network:
driver: bridge
volumes:
jenkins-dev:
external: true
services:
# Habilite Filesharing se não o sql server não irá subir
sql-server-db:
container_name: sql-server-container-dev
build:
context: .
dockerfile: Dockerfile
image: sql-server:2019
volumes:
- type: volume
source: jenkins-dev
target: /backups
ports:
- "1433:1433"
networks:
- sql-server-network
O docker-compose do meu jenkins está localizado:
C:Projetosinfra_agiljenkins
O docker-compose do sqlserver está localizado:
C:Projetosinfra_agiljenkinsinfra_comumsql-server
Os arquivos de backup estão localizados:
C:Projetosinfra_agiljenkinsdatabasebackups
Abaixo uma imagem que apresenta a localização destes arquivos.

Já fiz diversos testes. Em um deles eu consegui fazer um ‘bind’ entre a pasta backups do host – jenkins – e do sql server mas o container do sql-server não conseguia ver os arquivos dentro da pasta, apenas o jenkins conseguia ver.