Rumah > Artikel > Operasi dan penyelenggaraan > Asas Docker menyusun struktur fail dan alat pemasangan (contoh terperinci)
Artikel ini membawa anda pengetahuan tentang karang dalam buruh pelabuhan, termasuk struktur fail karang dan pengetahuan tentang memasang alat karang buruh pelabuhan saya harap ia akan membantu anda.
Apakah karang buruh pelabuhan?
Karang Docker ialah fungsi orkestrasi kontena yang mengatur dan menyatukan pelayan berbeza yang berjalan dalam bekas yang berbeza.
boleh digunakan untuk pengurusan bersatu kebanyakan bekas: termasuk tetapi tidak terhad kepada: rangkaian, port, lekap, dll. boleh digunakan untuk melaksanakan pengelompokan bekas boleh digunakan untuk satu siri operasi yang berkaitan dengan bekas dan imej adalah fungsi untuk menguruskan bekas
fail yml ialah fail dalam format nilai kunci.
fail yml sangat sensitif kepada format Anda perlu memberi perhatian kepada perkara berikut:
Hanya mengenali lekukan ruang dan tidak mengecam bentuk lekukan tab. kekuncihouse: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street city: Nowheretown zipcode: 1234
Nota: Jika kunci mempunyai berbilang nilai dalam satu tahap, ia boleh digunakan di peringkat seterusnya Ia juga mempunyai dua ruang kosong, bermula dengan sempang pendek dan menulis seberapa banyak sempang akhir di sana ialah beberapa nilai. 2. Medan yang biasa digunakan dalam konfigurasi Karang >dockerfile
: Kaedahnya adalah dengan menggunakan dockerfile untuk membina字段 | 描述 |
---|---|
build dockerfile centext | 指定Dockerfile文件名构建镜像上下文的路径 |
images | 指定镜像 |
command | 执行命令,覆盖默认命令 |
container name | 指定容器名称,由于容器名称是唯一的。如果指定自定义名称,则是无法创建scale |
deploy | 指定部署和运行服务相关配置,只能再Swarm模式使用 |
environment | 添加环境变量 |
networks | 加入网络 |
ports | 暴露容器端口,与-p相同,但是端口号必须大于60 |
volumts | 挂载宿主机路径或者命令卷 |
restart | 重启策略,默认no,always, on-failure,unless-stoped |
hostname | 容器主机名 |
imej: Anda boleh menentukan nama imej yang akan digunakan, contohnya :images: Nama imej, nota: terdapat ruang selepasnya
arahan: laksanakan pernyataan
nama bekas: digunakan untuk menyatakan nama bekas , kerana nama bekas itu unik. Jika anda menentukan nama tersuai, anda tidak boleh menskalakan (sediakan set replika)
# Set replika: Buat imej menjadi berbilang bekas Persekitaran berjalan dan aspek lain bagi berbilang bekas ini adalah sama. Apabila bekas dalam seni bina kontena digantung, anda boleh terus memulakan bekas yang sama untuk mengekalkan bilangan set replika Ini ialah konsep set replika, dan ia juga merupakan teras K8. Boleh meningkatkan kelajuan perkhidmatan mikro, meningkatkan pemulihan bencana dan prestasi serentak yang tinggi
kerahkan: Ia adalah pengawal, dan dalam k8 ia adalah pemalam yang mengawal dan mengurus set replika menarik status tertutup. Bekas, apabila gagal, hanya akan memulakan bekas dengan kod pulangan bekas bukan sifar
3 Perintah luaran biasa Karang
docker compose基本使用格式:docker-compose [options] [COMMAND] [ARGS…]
docker-compose选项:
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
首次连接下载的时候,可能会提示失误或者连接不上,可能是因为网络原因,可以多试几次
文件在刚下载之后,默认是没有执行权限的,所以需要手动添加执行权限
chmod +x /usr/local/bin/docker-compos
docker-compose
可以看到,现在已经正常执行了
手动创建下面的文件(dockerfile文件之前有的话,直接拉取过来也是可以的)
tree . ├── docker-compose.yml ├── nginx │ ├── Dockerfile │ ├── nginx-1.12.0.tar.gz └── wwwroot └── index.html
其中yml文件内部
cat docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1321:80 - 1707:443 networks: - cluster volumes: - ./wwwroot: /usr/local/nginx/html networks: cluster:
nginx的dockerfile文件
cat ./nginx/Dockerfile FROM centos:7 ADD nginx-1.12.0.tar.gz /tmp RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make &> /dev/null \ && useradd -M -s /sbin/nologin nginx \ && cd /tmp/nginx-1.12.0/ \ && ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module &> /dev/null \ && make &> /dev/null \ && make install &> /dev/null VOLUME ["/usr/local/nginx/html"] EXPOSE 80 CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
index.html文件中就是自己配置的网页信息,就不多做介绍了
确定之后,编译
docker-compose -f docker-compose.yml up -d
查看运行结果
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da38007f09ab dockercompose_nginx "/usr/local/nginx/sb…" About a minute ago Up About a minute 0.0.0.0:666->80/tcp, :::666->80/tcp, 0.0.0.0:667->443/tcp, :::667->443/tcp dockercompose_nginx_1 #可以看到,这个端口信息就是我们在yml文件中设置的端口信息,直接在这个生效了 docker images REPOSITORY TAG IMAGE ID CREATED SIZE dockercompose_nginx latest b1e4b9dfa72d 3 minutes ago 478MB
访问网址端口,查看该网站页面
curl 192.168.75.51:666 hello #显示结果 cat ./wwwroot/index.html hello
推荐学习:《docker视频教程》
Atas ialah kandungan terperinci Asas Docker menyusun struktur fail dan alat pemasangan (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!