Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Snufkin - 03.07.23 - klo:10.57
-
Moi!
Yritin asentaa tuota Docker Desktopia, mutta en saa pelaamaan. Luin ohjeista (https://docs.docker.com/desktop/install/linux-install/), että pitäisi olla "KVM virtualization support."
Sitten löysin tällaisen ohjeen (https://www.tecmint.com/install-kvm-on-ubuntu/) ja sieltä:
egrep -c '(vmx|svm)' /proc/cpuinfo
...antaa tulokseksi 0.
Onko tuo merkki siitä, ettei läppärini prossu tue virtuaalikoneita vai että on joku asetus, josta asiaan voi vaikuttaa?
Toinen yritelmä indikoi samaa.
$ sudo kvm-ok
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Kaipaisin lähinnä vahvistuksen, että olen ymmärtänyt asian oikein: prossu ei tue KVM:ää eikä asialle ole mitään tehtävissä?
Jos näin on, niin menetänkö vain tuon graafisen käyttöliittymän ja tuo Docker toimii esim. komentoriviltä, jos asennan sen Enginen?
(Taustalla on web development -kurssi, jossa tätä dockeria tarvitaan - ja onhan noihin hyvä perehtyä muutenkin)
-
egrep -c '(vmx|svm)' /proc/cpuinfo
...antaa tulokseksi 0.
Onko tuo merkki siitä, ettei läppärini prossu tue virtuaalikoneita vai että on joku asetus, josta asiaan voi vaikuttaa?
Kaksi vaihtoehtoa:
a) Prosessori ei tue virtualisointia. Mikä malli on kyseessä tarkalleen?
b) Prosessori tukee virtualisointia, mutta ominaisuus on kytketty pois päältä BIOS/UEFI-asetuksissa.
Jos näin on, niin menetänkö vain tuon graafisen käyttöliittymän ja tuo Docker toimii esim. komentoriviltä, jos asennan sen Enginen?
(Taustalla on web development -kurssi, jossa tätä dockeria tarvitaan - ja onhan noihin hyvä perehtyä muutenkin)
Docker Desktop on alun perin suunniteltu Windows ja macOS-järjestelmiin, joissa ei ole alla natiivia Linux-kerneliä. Se ajaa virtuaalikoneessa Linuxia ja sen sisällä Dockeria kontteineen. Aiemmin Desktopista ei edes ollut olemassa Linux-versiota, mutta nähtävästi sellainen on nyt viime vuonna julkaistu.
Pitäisin Docker Desktopia melko tarpeettomana Linuxissa. Pelkkä engine riittää oikein hyvin, enkä ole töissä koskaan kaivannut Desktop-sovellusta.
-
Kaksi vaihtoehtoa:
a) Prosessori ei tue virtualisointia. Mikä malli on kyseessä tarkalleen?
b) Prosessori tukee virtualisointia, mutta ominaisuus on kytketty pois päältä BIOS/UEFI-asetuksissa.
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
CPU family: 6
Model: 42
Pitäisin Docker Desktopia melko tarpeettomana Linuxissa. Pelkkä engine riittää oikein hyvin, enkä ole töissä koskaan kaivannut Desktop-sovellusta.
Ok, hyvä tietää. Lähinnä olisin kaivannut tuota graafista hallintapaneelia, mutta kaipa sitä parjää komentorivilläkin.
-
Model name: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
Prosessorisi tukee Intelin VT-x -rautavirtualisointia:
https://ark.intel.com/content/www/us/en/ark/products/52229/intel-core-i52520m-processor-3m-cache-up-to-3-20-ghz.html
Intel® Virtualization Technology (VT-x) ‡
Yes
Ominaisuus on siis todennäköisesti kytketty pois päältä BIOS-asetuksissa.
Pitäisin Docker Desktopia melko tarpeettomana Linuxissa. Pelkkä engine riittää oikein hyvin, enkä ole töissä koskaan kaivannut Desktop-sovellusta.
Ok, hyvä tietää. Lähinnä olisin kaivannut tuota graafista hallintapaneelia, mutta kaipa sitä parjää komentorivilläkin.
Muitakin käyttöliittymiä on olemassa. Esimerkiksi Portainer: https://www.portainer.io/blog/portainer-your-docker-gui-for-your-ubuntu-linux-desktop
Komentorivi on kuitenkin hyvä opetella ensin.
-
Prosessorisi tukee Intelin VT-x -rautavirtualisointia:
...
Intel® Virtualization Technology (VT-x) ‡
Yes
Ominaisuus on siis todennäköisesti kytketty pois päältä BIOS-asetuksissa.
...
Komentorivi on kuitenkin hyvä opetella ensin.
Kiitos. Mä nyt rohkaistuin ensin yrittämään tuolla komentorivillä. Jos menee hermo, niin sitten pitää koittaa tuota Biosin säätöä ja Desktopin asennusta. :)
-
Kiitos. Mä nyt rohkaistuin ensin yrittämään tuolla komentorivillä. Jos menee hermo, niin sitten pitää koittaa tuota Biosin säätöä ja Desktopin asennusta. :)
BIOS säätö pitää joka tapauksessa tehdä ensiksi.
-
Kiitos. Mä nyt rohkaistuin ensin yrittämään tuolla komentorivillä. Jos menee hermo, niin sitten pitää koittaa tuota Biosin säätöä ja Desktopin asennusta. :)
BIOS säätö pitää joka tapauksessa tehdä ensiksi.
Paitsi jos käyttää pelkkää Dockeria komentorivin tai muun käyttöliittymän kuin Docker Desktopin kautta. Docker Engine ei tarvitse virtualisointia lainkaan.
-
Yritin asentaa Dockerin ja onnistuinkin. Testiohjelma toimii ok.
Mutta sitten kun pitäisi ajaa docker-composea, niin tulee virheilmoituksia
$ docker-compose up --build
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
...
File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect
sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied
(Virheimoitus on pitkä ja siinä usea tuollainen error, tässä vain näyte näin alkuun)
Tarvittavat tiedostot pitäisi löytyä:
$ tree
.
├── app.js
├── docker-compose.yml
└── Dockerfile
Ideoita, mistä etsiä vikaa?
-
Oletko lisännyt käyttäjätunnuksesi docker-ryhmään:
sudo usermod -aG docker $USER
Kirjaudu sitten ulos työpöydältä ja takaisin sisään.
Muuten tarvittavia oikeuksia ei ole, vaan docker-komento ja muut docker-työkalut pitäisi suorittaa sudolla.
Nykyisin compose asennetaan yleensä Dockeriin liitännäisenä (https://docs.docker.com/compose/install/linux/), jolloin se toimii docker-komennon alikomentona (docker compose …)
-
Tuo käyttöoikeus auttoi sen verran, että ongelma vaihtui. :)
$ docker-compose up --build
Creating network "wsd_default" with the default driver
Building app
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/6: FROM denoland/deno:alpine-1.29.2
Error: error creating build container: short-name "denoland/deno:alpine-1.29.2" did not resolve to an alias and
no unqualified-search registries are defined in "/etc/containers/registries.conf"
ERROR: Service 'app' failed to build : Build failed
Tuon Deno toimii koneella ok.
-
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Hmm. Näyttää siltä että Docker Engine/CLI ei ole asennettuna, vaan käytössä on Podman. Mitä Docker-paketteja järjestelmässäsi on?
dpkg -l | grep docker
STEP 1/6: FROM denoland/deno:alpine-1.29.2
Error: error creating build container: short-name "denoland/deno:alpine-1.29.2" did not resolve to an alias and
no unqualified-search registries are defined in "/etc/containers/registries.conf"
denoland/deno-imaget sijaitsevat Docker Hubissa, ja kyseinen registry ei sisälly Podmanin vakiokonfiguraatioon. Se on mahdollista lisätä virheilmoituksessa mainittuun tiedostoon, mutta suosittelisin selvittämään sen sijaan juurisyyn eli Docker Enginen asennusongelman.
-
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Hmm. Näyttää siltä että Docker Engine/CLI ei ole asennettuna, vaan käytössä on Podman. Mitä Docker-paketteja järjestelmässäsi on?
Luin jostain että tuo CLI pitäisi tulla Enginen mukana, mutta tältä näyttää:
$ dpkg -l | grep docker
ii docker-compose 1.29.2-1 all define and run multi-container Docker applications with YAML
rc docker.io 20.10.21-0ubuntu1~22.04.3 amd64 Linux container runtime
ii podman-docker 3.4.4+ds1-1ubuntu1.22.04.1 amd64 engine to run OCI-based containers in Pods - wrapper for docker
ii python3-docker 5.0.3-1 all Python 3 wrapper to access docker.io's control socket
ii python3-dockerpty 0.4.1-2 all Pseudo-tty handler for docker Python client (Python 3.x)
-
rc docker.io 20.10.21-0ubuntu1~22.04.3 amd64 Linux container runtime
ii podman-docker 3.4.4+ds1-1ubuntu1.22.04.1 amd64 engine to run OCI-based containers in Pods - wrapper for docker
Tuosta nähdään, että paketti docker.io on ollut asennettuna, mutta se on poistettu järjestelmästä (rc tarkoittaa, että asetustiedostot ovat vielä levyllä). Tuo on varmaan Docker Desktopin jälkiä.
Docker-komento tulee tällä hetkellä paketista podman-docker, mutta se siis ohjaa Podmania eikä Dockeria.
Docker Enginen community edition ei ole asennettuna. Poista podman-docker ja asenna Docker CE tämän ohjeen mukaan: https://docs.docker.com/engine/install/ubuntu/
-
rc docker.io 20.10.21-0ubuntu1~22.04.3 amd64 Linux container runtime
ii podman-docker 3.4.4+ds1-1ubuntu1.22.04.1 amd64 engine to run OCI-based containers in Pods - wrapper for docker
Tuosta nähdään, että paketti docker.io on ollut asennettuna, mutta se on poistettu järjestelmästä (rc tarkoittaa, että asetustiedostot ovat vielä levyllä). Tuo on varmaan Docker Desktopin jälkiä.
Docker-komento tulee tällä hetkellä paketista podman-docker, mutta se siis ohjaa Podmania eikä Dockeria.
Docker Enginen community edition ei ole asennettuna. Poista podman-docker ja asenna Docker CE tämän ohjeen mukaan: https://docs.docker.com/engine/install/ubuntu/
Voisi johtua siitä, että yritin asentaa tuon Desktopin, mutta ei onnistunut. Latasin epähuomiossa amd-version, joka tuli ohjeiden mukaan tehdessä. Intel-versiota en löytänyt. Minulla siis nyt eri läppäri, johon yritän tätä asentaa. Siinä toimii tuo virtuaalikone.
Yritän poistaa kaiken ja ladata tuon Enginen uudelleen.
-
Mites tämä poistetaan? Ei lähde apt-get removella
$ dpkg -l | grep docker
rc docker.io 20.10.21-0ubuntu1~22.04.3 amd64 Linux container runtime
-
Voisi johtua siitä, että yritin asentaa tuon Desktopin, mutta ei onnistunut. Latasin epähuomiossa amd-version, joka tuli ohjeiden mukaan tehdessä. Intel-versiota en löytänyt.
amd64 on Debian- ja Ubuntu-pohjaisten jakelujen termi x86-64-käskykannalle/-arkkitehtuurille, johon sekä AMD:n että Intelin nykyiset prosessorit perustuvat. Kyseinen arkkitehtuuri on alun perin AMD:n kehittämä, ja Intel joutui taipumaan tukemaan sitä Itaniumin epäonnistuttua.
Eli sinulla oli oikea versio asennettuna ja ongelma johtui luultavasti vain siitä, että prosessorin virtualisointituki on kytketty pois päältä biosissa.
Mites tämä poistetaan? Ei lähde apt-get removella
$ dpkg -l | grep docker
rc docker.io 20.10.21-0ubuntu1~22.04.3 amd64 Linux container runtime
sudo apt purge docker.io
-
Eli sinulla oli oikea versio asennettuna ja ongelma johtui luultavasti vain siitä, että prosessorin virtualisointituki on kytketty pois päältä biosissa.
No näin tuo kysely näyttää:
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
sudo apt purge docker.io
Kiitos, tämä toimi. Nyt uusi yritys (Engine)...
-
Nyt näyttää tältä (tehty laittamasi linkin mukaan)
$ dpkg -l | grep docker
ii docker-buildx-plugin 0.10.5-1~ubuntu.22.04~jammy amd64 Docker Buildx cli plugin.
ii docker-ce 5:24.0.2-1~ubuntu.22.04~jammy amd64 Docker: the open-source application container engine
ii docker-ce-cli 5:24.0.2-1~ubuntu.22.04~jammy amd64 Docker CLI: the open-source application container engine
ii docker-ce-rootless-extras 5:24.0.2-1~ubuntu.22.04~jammy amd64 Rootless support for Docker.
ii docker-compose-plugin 2.18.1-1~ubuntu.22.04~jammy amd64 Docker Compose (V2) plugin for the Docker CLI.
Mutta sitten.. (Tuo käsky kurssin ohjeista, tarvittavat tiedostot ovat)
$ tree
.
├── app.js
├── docker-compose.yml
└── Dockerfile
$ docker-compose up --build
bash: /usr/bin/docker-compose: No such file or directory
Puuttuko multa vielä joku palikka?
-
Mutta sitten.. (Tuo käsky kurssin ohjeista, tarvittavat tiedostot ovat)
$ tree
.
├── app.js
├── docker-compose.yml
└── Dockerfile
$ docker-compose up --build
bash: /usr/bin/docker-compose: No such file or directory
Puuttuko multa vielä joku palikka?
Sinulla on nyt asennettuna Docker Compose -plugin, jolloin compose toimii dockerin alikomentona: docker-compose -> docker compose
docker compose up --build
-
Sinulla on nyt asennettuna Docker Compose -plugin, jolloin compose toimii dockerin alikomentona: docker-compose -> docker compose
docker compose up --build
Mahtavaa, nyt toimii! :D
Kiitos vielä avusta. Meinasi jo jäädä kurssi suorittamatta...