informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Mempersiapkan lingkungan:
- VMware17
- Ubuntu18.04(LTS):https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Dokumen terkait Docker:
- alamat situs web resmi buruh pelabuhan: https://www.docker.com/
- alamat dokumentasi buruh pelabuhan: https://docs.docker.com/
- gudang gambar buruh pelabuhan: https://hub.docker.com/
1. Apa itu buruh pelabuhan: Ini adalah mesin container open source yang dapat dengan mudah mengelola container, dan container tersebut diisolasi satu sama lain menggunakan mekanisme sandbox.
2. Masalah apa yang dipecahkan oleh buruh pelabuhan: menyelesaikan masalah migrasi lingkungan perangkat lunak.
3. Perbedaan antara container dan mesin virtual:
4. penyimpanan buruh pelabuhan:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Jaringan Docker: Buat jaringan khusus untuk mencapai akses nama host sebagai nama domain yang stabil. (Memungkinkan kontainer di jaringan yang sama untuk berkomunikasi satu sama lain)
#示例
#自定义网络
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
Artikel ini didasarkan pada instalasi lingkungan Ubuntu. Jika Anda tidak memiliki izin, tambahkan saja sudo di depan.
1. Matikan firewall (tidak perlu mengekspos port secara manual untuk akses eksternal selanjutnya, sehingga nyaman untuk pengujian)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Instal buruh pelabuhan
#卸载旧版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. Manajemen status layanan buruh pelabuhan:
2. Manajemen gambar Docker:
3. Manajemen kontainer Docker:
4. Volume data buruh pelabuhan:
Volume data: Ini adalah folder yang dikelola oleh buruh pelabuhan.
Penggunaan volume data: Anda dapat mengikat volume data ke jalur dalam wadah untuk mewujudkan transfer file otomatis dua arah antara wadah dan host.
Masukkan file ke dalam volume data host: buruh pelabuhan akan secara otomatis menyinkronkan file ke container
Jika file dalam container berubah: buruh pelabuhan akan secara otomatis menyinkronkannya dengan volume data host.
Perintah operasi volume data:
Daftar volume data: volume buruh pelabuhan ls
Buat volume data: volume buruh pelabuhan buat nama volume data
Lihat detail volume data (jalur sebenarnya): volume buruh pelabuhan memeriksa nama volume data
Hapus volume data: volume buruh pelabuhan rm nama volume data
Buat wadah dan ikat volume data:
docker run -di --name=nama kontainer -v nama volume data: jalur dalam nama gambar kontainer: tag
docker run -di --name=nama kontainer -v jalur di host: jalur di nama gambar kontainer: tag
Catatan: Semua jalur dalam parameter -v harus berupa jalur absolut.
5. Cadangan cermin:
Dokumentasi: https://docs.docker.com/reference/dockerfile/
Peran Dockerfile: Membuat gambar khusus.
Dockerfile didasarkan pada gambar dasar dan menulis serangkaian instruksi buruh pelabuhan. Setiap instruksi membangun lapisan gambar melalui instruksi ini lapis demi lapis, gambar target akhirnya dibuat.
Instruksi umum | memengaruhi |
---|---|
DARI | Tentukan lingkungan dasar gambar |
BERLARI | Jalankan perintah khusus |
CMD | Perintah atau parameter startup kontainer |
LABEL | Label khusus |
MEMBUKA | Tentukan port yang terbuka |
ENV | variabel lingkungan |
MENAMBAHKAN | Tambahkan file ke gambar |
MENYALIN | Salin file ke gambar |
TITIK MASUK | Perintah startup tetap kontainer |
VOLUME | volume data |
PENGGUNA | Tentukan pengguna dan grup pengguna |
DIR KERJA | Tentukan direktori kerja default |
Bahasa Inggris | Tentukan parameter build |
Contoh:
#编写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 .
Orkestrasi layanan atau orkestrasi kontainer: Kelola kontainer secara batch sesuai dengan aturan bisnis tertentu.
Docker Compose adalah alat orkestrasi untuk mendefinisikan dan menjalankan beberapa container Docker.
Beberapa kontainer dapat dimulai dengan satu perintah. Hal ini terutama memecahkan masalah bagaimana mengelola dan mengatur container.
Ada tiga langkah untuk menggunakan Docker Compose:
docker-compose.yml
Tentukan layanan yang membentuk aplikasidocker-compose up -d
Mulai aplikasiInstal komposisi buruh pelabuhan:
# 下载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
Jika Anda ingin menghapus instalasi docker-compose, Anda dapat menjalankan perintah berikut:
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Perintah umum untuk penulisan buruh pelabuhan:
# !!!注意:必须先切换到`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 # 停止并删除容器
Contoh:
1. Buat direktori penulisan buruh pelabuhan
mkdir ~/docker-compose
cd ~/docker-compose
2. Menulisdocker-compose.yaml
dokumen
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. Mulai
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d