# Connessione con macchina remota

PORTA PUBB SSH :6000

utente : ubuntu     pass : VIP-123stella@!       [188.153.130.252](https://188.153.130.252)

Quindi scrivo sul terminal della mia macchina locale&#x20;

`ssh ubuntu@188.153.130.252 -p 6000`

`sudo -i` per diventare la root&#x20;

### Add user&#x20;

adduser francesca && adduser lorenzo

### installa docker&#x20;

`su ubuntu`

ubuntu\@ubuntu-server-training-101:/root$ `cd`

`sudo apt update`

`sudo apt install docker`&#x20;

<mark style="color:$danger;">ma esce questo errore</mark>  E: Package 'docker' has no installation candidate

<mark style="background-color:$primary;">Dai in ordine questi comandi</mark>

`curl -fsSL` [`https://get.docker.com`](https://get.docker.com/) `-o` [`get-docker.sh`](https://get-docker.sh)

`sudo sh` [`get-docker.sh`](https://get-docker.sh)

`sudo systemctl enable docker`

`sudo systemctl status docker`

`sudo usermod -aG  docker $USER` --> per aggiungere l'utente attuale al gruppo docker e non dover usare sudo ogni volta

`newgrp docker`

`docker --version`

`docker compose version`

`docker run hello-world`

## Installazione portainer&#x20;

```bash
docker volume create portainer_data           # creo un volume (o zona di lavoro) dedicata al container
```

```
docker run -d \
  -p 8000:8000 \
  -p 6100:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:lts
```

```bash
docker ps -a                                 # per vedere se è attivo
```

apri sul browser <https://188.153.130.252:6100/#!/init/admin>

nome: admin

pass: Roberto123stella!

## Carica immagine

## <mark style="background-color:$info;">Nota: prima di fare un docker compose, esegui il main nel server ubuntu</mark>

mappatura disponibile :

TCP [192.168.1.31](https://192.168.1.31) 6001 -6100

s<ftp://188.153.130.252>

user : ubuntu

password : VIP-123stella@!

port : 6000

## Installazione git&#x20;

```
sudo apt install -y git
git --version
git config --global user.name "ludomontanaro17-bit"
git config --global user.email "ludomontanaro17@gmail.com"
```

Per entrare nel progetto

Vai direttamente al blocco di codici sotto, se fai direttamente il docker compose senza eseguire il main ti da errore!

```
ls
>> get-docker.sh  keras_project_montanaro_laterza_tuninetti
cd keras_project_montanaro_laterza_tuninetti/
ls
>> app      data                Dockerfile  main.py  README.md
classes  docker-compose.yml  LICENSE     model    requirements.txt

docker compose up --build

```

ma dava problemi nel lancio dell'API. Abbiamo quindi cancellato l'immagine e il container ed eseguito il main.py mediante questi comandi:

```
python3 --version
sudo apt install python3-pip
sudo apt install python3.12-venv
python3 -m venv .venv
source .venv/bin/activate 
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python3 main.py
```

Errore che esce: Illegal instruction (core dumped) --> probabilmente è un errore di cpu

Per capire se è un errore della macchina virtuale, roberto ci ha chiesto di pubblicare l'immagine del container su dockerio. Sul terminal di vsc scriviamo

```
docker compose up --build
```

Una volta creata l'immagine,  creiamo la repository su docker hub e tagghiamo l'immagine.

<figure><img src="https://3561918162-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FogR04dpg1L5r2jEog2l4%2Fuploads%2FnFpxh8NZirFqVhliveFm%2FScreenshot%202025-11-03%20alle%2017.34.22.png?alt=media&#x26;token=07ef55f5-c334-4e33-a733-14c4d5840dd9" alt="" width="375"><figcaption></figcaption></figure>

tuninettifrancesca/keras\_project\_montanaro\_laterza\_tuninetti-wine-api

\_\_\_\_\_\_\_\_\_\_\_\_\_\_

Controlliamo che ci sia il file creato mediante keras con ls e poi facciamo il docker compose&#x20;

```
docker compose up --build
```
