Docker MySQL - Troubleshooting Permission Denied (CentOS 7)
Innehållsförteckning:
- förutsättningar
- Installera Docker på CentOS
- Utföra Docker-kommandot utan Sudo
- Docker kommandoradgränssnitt
- Docker-bilder
- Dockerbehållare
- Slutsats
Docker är en containeriseringsteknik som gör att du snabbt kan bygga, testa och distribuera applikationer som bärbara, självförsörjande containrar som kan köras praktiskt taget var som helst.
I den här tutorialen går vi igenom hur du installerar Docker CE på CentOS 7 och utforskar de grundläggande Docker-koncepten och kommandona.
förutsättningar
Innan du fortsätter med denna självstudie, se till att följande förutsättningar är uppfyllda:
- CentOS 7-serverDu är inloggad som en icke-root-användare med sudo-privilegier. Du kontrollerar den här guiden om hur du skapar en ny sudo-användare.
Installera Docker på CentOS
Även om Docker-paketet är tillgängligt i det officiella CentOS 7-lagret, kanske det inte alltid är den senaste versionen. Det rekommenderade tillvägagångssättet är att installera Docker från Dockers förvar.
Följ stegen nedan för att installera Docker på din CentOS 7-server:
-
Börja med att uppdatera dina systempaket och installera nödvändiga beroenden:
sudo yum update
sudo yum install yum-utils device-mapper-persistent-data lvm2
Kör sedan följande kommando som lägger till Dockers stabila arkiv i ditt system:
sudo yum-config-manager --add-repo
Nu när Docker-lagret är aktiverat installerar du den senaste versionen av Docker CE (Community Edition) med yum genom att skriva:
sudo yum install docker-ce
När Docker-paketet är installerat startar du Docker-demonen och aktiverar det automatiskt att starta vid starttid:
sudo systemctl start docker
sudo systemctl enable docker
Så här kontrollerar du att Docker-tjänsten körs:
sudo systemctl status docker
Utgången ska se ut så här:
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
I skrivande stund är den nuvarande stabila versionen av Docker,
18.06.1
, för att skriva ut Docker-versionstyp:docker -v
Docker version 18.06.1-ce, build e68fc7a
Utföra Docker-kommandot utan Sudo
Som standardhantering kräver Docker administratörsbehörighet. Om du vill köra Docker-kommandon som en icke-root-användare utan att förbereda
sudo
måste du lägga till din användare i dockningsgruppen som skapas under installationen av Docker CE-paketet. Du kan göra det genom att skriva:
sudo usermod -aG docker $USER
$USER
är en miljövariabel som innehåller ditt användarnamn.
Logga ut och logga in igen så att gruppmedlemskapet uppdateras.
För att verifiera att Docker är installerat framgångsrikt och att du kan köra docker-kommandon utan sudo, utfärda följande kommando som kommer att ladda ner en testbild, köra den i en behållare, skriva ut ett "Hej från Docker" -meddelande och avsluta:
docker container run hello-world
Utgången ska se ut enligt följande:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
Docker kommandoradgränssnitt
Nu när vi har en fungerande Docker-installation, låt oss gå igenom den grundläggande syntaxen för dockaren CLI.
Kommandoraden för dockaren har följande form:
docker
Du kan lista alla tillgängliga kommandon genom att skriva
docker
utan parametrar:
docker
Docker-bilder
En Docker-bild består av en serie lager som representerar instruktioner i bildens Dockerfile som utgör ett körbart program. En bild är en immutbar binär fil som inkluderar applikationen och alla andra beroenden som binärer, bibliotek och instruktioner som krävs för att köra applikationen. Kort sagt är en Docker-bild i huvudsak en ögonblicksbild av en Docker-behållare.
Docker Hub är molnbaserad registertjänst som bland andra funktioner används för att hålla Docker-bilderna antingen i ett offentligt eller privat lager.
För att söka i Docker Hub-lagret efter en bild använder du bara underkommandot för
search
. För att till exempel söka efter CentOS-bilden, kör:
docker search centos
Utgången ska se ut enligt följande:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39
Som du kan se sökresultaten skrivs ut en tabell med fem kolumner,
NAME
,
DESCRIPTION
,
STARS
,
OFFICIAL
och
AUTOMATED
. Den officiella bilden är en bild som Docker utvecklar i samband med uppströmspartners.
Om vi vill ladda ner den officiella byggnaden av CentOS 7, kan vi göra det genom att använda underkommandot för bilddrag:
docker image pull centos
Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest
Beroende på din Internethastighet kan nedladdningen ta några sekunder eller några minuter. När bilden har laddats ner kan vi lista bilderna med:
docker image ls
Utgången ska se ut som följande:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB
Om du av någon anledning vill ta bort en bild kan du göra det med
image rm
:
docker image rm centos
Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0
Dockerbehållare
En instans av en bild kallas en behållare. En behållare representerar en körtid för en enda applikation, process eller tjänst.
Det är kanske inte den mest lämpliga jämförelsen, men om du är programmerare kan du tänka på en Docker-bild som klass och Docker-behållare som en instans av en klass.
Vi kan starta, stoppa, ta bort och hantera en behållare med
docker container
dockarcontainern.
Följande kommando startar en Docker-behållare baserad på CentoOS-bilden. Om du inte har bilden lokalt kommer den att ladda ner den först:
docker container run centos
Vid första anblicken kan det tyckas att ingenting hände alls. Det är inte sant. CentOS-behållaren stannar omedelbart efter uppstart eftersom den inte har en långvarig process och vi gav inga kommandon, så behållaren startade upp, körde ett tomt kommando och gick sedan ut.
Omkopplaren-
-it
låter oss interagera med behållaren via kommandoraden. Så här startar du en interaktiv containertyp:
docker container run -it centos /bin/bash
Som du kan se från utgången när behållaren har startats ändras kommandotolken vilket innebär att du nu arbetar inifrån behållaren:
#
Så här listar du kör containrar:, skriv:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli
Om du inte har några körbehållare kommer utmatningen att vara tom.
För att se både körda och stoppade containrar, passera den
-a
omkopplaren:
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon
För att ta bort en eller flera behållare kopierar du bara behållar-ID (eller ID) ovanifrån och klistrar in dem efter
container rm
underkommando:
docker container rm c55680af670c
Slutsats
Du har lärt dig hur du installerar Docker på din CentOS 7-maskin och hur du laddar ner Docker-bilder och hanterar Docker-containrar. Du kanske också vill läsa om Docker Compose, som låter dig definiera och köra multi-container Docker-applikationer.
Denna handledning kliar knappt ytan på Dockers ekosystem. I några av våra nästa artiklar kommer vi att fortsätta att dyka in i andra aspekter av Docker. För att lära dig mer om Docker, kolla in den officiella Docker-dokumentationen.
Hur man installerar och använder dockaren på debian 10 linux

Docker är en containeriseringsplattform som gör att du snabbt kan bygga, testa och distribuera applikationer som bärbara, självförsörjande containrar som kan köras praktiskt taget var som helst. I denna handledning förklarar vi hur du installerar Docker på Debian 10 Buster.
Hur man installerar och använder dockaren på hallonpi

I denna handledning kommer vi att förklara hur du installerar Docker på Raspberry Pi och utforskar de grundläggande Docker-koncepten och kommandona.
Hur du installerar och använder dockaren på debian 9

I den här handledningen guidar vi dig genom processen att installera Docker på en Debian 9-maskin och utforska de grundläggande Docker-koncepten och kommandona.