2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Valmistele ympäristö:
- VMware17
- Ubuntu18.04(LTS): https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Dockeriin liittyvät asiakirjat:
- dockerin virallisen verkkosivuston osoite: https://www.docker.com/
- Dockerin dokumentaatioosoite: https://docs.docker.com/
- Dockerin kuvavarasto: https://hub.docker.com/
1. Mikä on docker: Se on avoimen lähdekoodin konttimoottori, jolla voidaan helposti hallita kontteja, ja säiliöt on eristetty toisistaan hiekkalaatikkomekanismilla.
2. Minkä ongelman docker ratkaisee: ratkaise ohjelmistoympäristön migraatioongelman.
3. Ero säilöjen ja virtuaalikoneiden välillä:
4. Telakointiasema:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Docker-verkko: Luo mukautettu verkko saadaksesi isäntänimen käyttöoikeuden vakaana toimialueen nimenä. (Antaa samassa verkossa olevien säiliöiden kommunikoida keskenään)
#示例
#自定义网络
docker network create mynet
#主节点
docker run -d -p 6379:6379
-v /app/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
--network mynet --name redis01
bitnami/redis
#从节点
docker run -d -p 6380:6379
-v /app/rd2:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=slave
-e REDIS_MASTER_HOST=redis01
-e REDIS_MASTER_PORT_NUMBER=6379
-e REDIS_MASTER_PASSWORD=123456
-e REDIS_PASSWORD=123456
--network mynet --name redis02
bitnami/redis
Tämä artikkeli perustuu Ubuntu-ympäristön asennukseen. Jos sinulla ei ole käyttöoikeuksia, lisää vain sudo.
1. Sammuta palomuuri (porttia ei tarvitse paljastaa manuaalisesti myöhempää ulkoista käyttöä varten, mikä on kätevää testaamiseen)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Asenna telakointiasema
#卸载旧版docker
sudo apt-get remove docker docker-engine docker.io containerd runc
#更新软件包
sudo apt-get update
#安装一些工具
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
#安装docker
sudo apt install docker.io
#验证dokcer是否安装成功
docker --version
#启动& 开机启动docker; enable + start 二合一
sudo systemctl enable docker --now
#配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
1. Docker-palvelun tilanhallinta:
2. Docker-kuvanhallinta:
3. Docker-kontin hallinta:
4. Dockerin datamäärä:
Tietomäärä: Se on Dockerin hallinnoima kansio.
Tietomäärien käyttö: Voit sitoa tietotaltion säilön polkuun toteuttaaksesi kaksisuuntaisen automaattisen tiedostojen siirron säilön ja isännän välillä.
Aseta tiedosto isännän tietotaltioon: Docker synkronoi tiedoston automaattisesti säilöön
Jos säilön tiedostot muuttuvat: Docker synkronoi ne automaattisesti isännän tietomäärään.
Tietomäärän toimintokomennot:
Listaa datavolyymit: Docker volume ls
Luo tietotaltio: Docker-taltio luo tietotaltion nimi
Näytä tietomäärän tiedot (todellinen polku): Docker-taltio tarkastaa datataltion nimi
Poista tietotaltio: Docker volume rm datataltion nimi
Luo säilö ja sido tietomäärä:
docker run -di --nimi=säilön nimi -v tietotaltion nimi: polku säilön kuvan nimi: tunniste
docker run -di --nimi=säilön nimi -v polku isännässä: polku säilön kuvan nimi: tagi
Huomautus: Kaikkien -v-parametrin polkujen on oltava absoluuttisia polkuja.
5. Peilin varmuuskopio:
Dokumentaatio: https://docs.docker.com/reference/dockerfile/
Dockerfile-rooli: Luo mukautettuja kuvia.
Dockerfile perustuu peruskuvaan ja kirjoittaa sarjan Docker-käskyjä. Nämä käskyt muodostavat kerros kerrallaan.
Yleiset ohjeet | vaikutus |
---|---|
FROM | Määritä kuvan perusympäristö |
JUOSTA | Suorita mukautettu komento |
CMD | Säilön käynnistyskomento tai parametrit |
LABEL | Mukautetut tarrat |
PALJISTA | Määritä esillä oleva portti |
ENV | ympäristömuuttujat |
LISÄTÄ | Lisää tiedostoja kuvaan |
KOPIO | Kopioi tiedostot kuvaan |
SISÄÄNTULOPISTE | Säilön kiinteä käynnistyskomento |
VOLUME | datamäärä |
KÄYTTÄJÄ | Määritä käyttäjät ja käyttäjäryhmät |
TYÖOHJ | Määritä oletustyöhakemisto |
ARG | Määritä rakennusparametrit |
Esimerkki:
#编写dockerfile文件
vim Dockerfile
FROM openjdk:17
LABEL author=aopmin
COPY app.jar /app.jar #把jar包复制到容器的根目录下
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"] #运行命令
# 构建镜像
docker bulid -f Dockerfile -t 镜像名:tag .
Palvelun tai kontin orkestrointi: Hallinnoi kontteja erissä tiettyjen liiketoimintasääntöjen mukaisesti.
Docker Compose on orkestrointityökalu useiden Docker-säiliöiden määrittämiseen ja käyttämiseen.
Useita säiliöitä voidaan käynnistää yhdellä komennolla. Se ratkaisee pääasiassa konttien hallintaan ja orkestrointiin liittyvät ongelmat.
Docker Composen käytössä on kolme vaihetta:
docker-compose.yml
Määritä palvelut, jotka muodostavat sovelluksendocker-compose up -d
Aloita sovellusAsenna docker-compose:
# 下载docker compose
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose -version
Jos haluat poistaa docker-compose-asennuksen, voit suorittaa seuraavan komennon:
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Docker-Composen yleiset komennot:
# !!!注意:必须先切换到`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
#创建容器并后台启动
docker-compose up -d
#直接启动容器
docker-compose start
#其它命令:
docker-compose help # 查看帮助
docker-compose stop # 停止容器
docker-compose start # 启动容器
docker-compose restart # 重启容器
docker-compose rm # 删除已停止的容器
docker-compose down # 停止并删除容器
Esimerkki:
1. Luo docker-compose -hakemisto
mkdir ~/docker-compose
cd ~/docker-compose
2. Kirjoitadocker-compose.yaml
asiakirja
version: "3.0"
services:
redis:
container_name: redis
image: redis:5.0
ports:
- 6379:6379
nginx:
container_name: nginx
image: nginx:1.14.2
ports:
- 80:80
volumes:
- /root/volumes/nginx/html:/usr/share/nginx/html
tomcat:
container_name: tomcat
image: tomcat:8.5.88
ports:
- 8080:8080
volumes:
- /root/volumes/tomcat/webapps:/usr/local/tomcat/webapps
3. Aloita
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d