จะติดตั้งและตั้งค่า Docker ได้อย่างไร

สงสัยว่านักเขียนคืออะไร?


นักเทียบท่าเป็นเครื่องมือ containerization ที่นิยมมากที่สุดในโลก DevOps แต่นักแต่งเพลงคืออะไร?

Docker Compose ใช้สำหรับรันแอพพลิเคชั่นที่มีหลายคอนเทนเนอร์โดยใช้ไฟล์ YAML.

อาจมีหลายกรณีที่แอปพลิเคชันนักเทียบท่าต้องเรียกใช้หลายคอนเทนเนอร์สำหรับสแต็คเทคโนโลยีที่แตกต่างกัน ตอนนี้การสร้างการวิ่งการเชื่อมต่อนักเทียบท่าแยกสำหรับแต่ละตู้คอนเทนเนอร์อาจเป็นงานที่ยาก นี่คือสิ่งที่นักเทียบท่าประกอบช่วยคุณได้.

การใช้ไฟล์ docker-compose.yml เดี่ยวและตรงไปตรงมาคุณสามารถสร้างเชื่อมต่อและเปิดใช้งานคอนเทนเนอร์ทั้งหมดได้ด้วยการรันคำสั่งเดียว สิ่งนี้มีประโยชน์มากสำหรับแอปพลิเคชันระดับองค์กรในการผลิตซึ่งแอปพลิเคชันจำนวนมากทำงานภายในคอนเทนเนอร์ มันช่วยประหยัดเวลาได้มากด้วยการรันแอปพลิเคชั่น 100s ภายในคอนเทนเนอร์นักเทียบท่าได้อย่างง่ายดาย.

การติดตั้ง Docker Compose

ควรติดตั้ง Docker ไว้ในระบบของคุณก่อนทำการติดตั้ง.

เรียกใช้คำสั่งด้านล่างเพื่อติดตั้งนักเทียบท่าเขียน.

[email protected]: / home / geekflare $ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s) – $ (uname -m)" -o / usr / local / bin / docker-compose

[sudo] รหัสผ่านสำหรับ geekflare:

% รวม% ที่ได้รับ% Xferd เวลาความเร็วเฉลี่ยเวลาปัจจุบัน

Dload อัพโหลดความเร็วที่ใช้ไปทั้งหมด

100 617 0 617 0 0 1209 0 -: – – – – – – – – -: – 1209

100 11.1M 100 11.1M 0 0 348k 0 0:00:32 0:00:32 -: -: – 476k

เรียกใช้คำสั่งด้านล่างเพื่อตั้งค่าการอนุญาตไฟล์.

[email protected]: / home / geekflare $ sudo chmod + x / usr / local / bin / docker-compose

ตรวจสอบว่าได้รับการติดตั้งอย่างถูกต้องหรือไม่ควรส่งคืนเวอร์ชันที่เขียนโดยนักเทียบท่า.

[email protected]: / home / geekflare $ docker-compose –version

นักเทียบท่าเขียนเวอร์ชัน 1.23.1, สร้าง b02f1306

ด้านล่างนี้คือรายการคำสั่งที่คุณสามารถใช้กับตัวเรียงต่อ.

[email protected]: / home / geekflare $ docker-compose

กำหนดและเรียกใช้แอปพลิเคชันแบบหลายคอนเทนเนอร์ด้วย Docker.

การใช้งาน:

นักเทียบท่าเขียน [-f … ] [ตัวเลือก] [คำสั่ง] [ส่วนที่…]

นักเทียบท่าเขียน -h | – ช่วย

ตัวเลือก:

-f, – ไฟล์ไฟล์ระบุไฟล์เขียนสำรอง

(ค่าเริ่มต้น: docker-compose.yml)

-p, – ชื่อโครงการชื่อระบุชื่อโครงการทางเลือก

(ค่าเริ่มต้น: ชื่อไดเรกทอรี)

–verbose แสดงผลลัพธ์เพิ่มเติม

–ระดับบันทึกระดับกำหนดระดับการบันทึก (ดีบัก, ข้อมูล, คำเตือน, ข้อผิดพลาด, ร้ายแรง)

–no-ansi ห้ามพิมพ์อักขระควบคุม ANSI

-v, –version รุ่นพิมพ์และออก

-H, – โฮสต์ซ็อกเก็ตภูตโฮสต์ที่จะเชื่อมต่อกับ

–tls ใช้ TLS; โดยนัยโดย –tlsverify

–tlscacert CA_PATH เชื่อถือ certs ที่ลงชื่อโดย CA นี้เท่านั้น

–tlscert CLIENT_CERT_PATH พา ธ ไปยังไฟล์ใบรับรอง TLS

–tlskey TLS_KEY_PATH พา ธ ไปยังไฟล์คีย์ TLS

–tlsverify ใช้ TLS และตรวจสอบรีโมต

–skip-hostname-check อย่าตรวจสอบชื่อโฮสต์ของ daemon กับ

ชื่อที่ระบุในใบรับรองไคลเอ็นต์

–PATH ไดเรกทอรีโครงการระบุไดเรกทอรีทำงานสำรอง

(ค่าเริ่มต้น: เส้นทางของไฟล์เขียน)

–ความเข้ากันได้หากตั้งไว้ Compose จะพยายามแปลงการปรับใช้

คีย์ในไฟล์ v3 เทียบได้กับ Swarm ที่ไม่เทียบเท่า

คำสั่ง:

สร้างสร้างหรือสร้างบริการใหม่

บันเดิลสร้างบันเดิลนักเทียบท่าจากไฟล์เขียน

ตรวจสอบความถูกต้องและดูไฟล์เขียน

สร้างสร้างบริการ

หยุดหยุดและลบคอนเทนเนอร์เครือข่ายรูปภาพและโวลุ่ม

เหตุการณ์รับเหตุการณ์แบบเรียลไทม์จากคอนเทนเนอร์

exec ดำเนินการคำสั่งในภาชนะที่ใช้งาน

ช่วยรับความช่วยเหลือเกี่ยวกับคำสั่ง

ภาพรายการภาพ

ฆ่าฆ่าภาชนะ

บันทึกดูผลลัพธ์จากตู้คอนเทนเนอร์

หยุดบริการชั่วคราว

พอร์ตพิมพ์พอร์ตสาธารณะสำหรับการผูกพอร์ต

รายชื่อภาชนะบรรจุ

ดึงภาพบริการดึง

ผลักดันภาพบริการ

เริ่มบริการใหม่

rm ลบคอนเทนเนอร์ที่หยุด

เรียกใช้คำสั่งแบบใช้ครั้งเดียว

สเกลกำหนดจำนวนตู้คอนเทนเนอร์สำหรับบริการ

เริ่มบริการเริ่ม

หยุดบริการหยุด

แสดงกระบวนการที่กำลังทำงานอยู่

unpause ยกเลิกการหยุดบริการ

สร้างและเริ่มคอนเทนเนอร์

version แสดงข้อมูลเวอร์ชันของ Docker-Compose

นักเขียนไฟล์

นี่คือตัวอย่างไฟล์นักเทียบท่าที่ทำทุกสิ่งมหัศจรรย์.

รุ่น: ‘3’

บริการ:

เว็บ:

สร้าง: .

พอร์ต:

– "5000: 5000"

Redis:

ภาพ: "Redis: อัลไพน์"

บรรทัดแรกในไฟล์นี้ระบุเวอร์ชันที่ใช้ หมายเลขนี้ขึ้นอยู่กับเอ็นจิ้น Docker ที่ติดตั้งในระบบของคุณ ฉันได้ติดตั้ง Docker 18.09.6 ซึ่งเป็นของนักเขียนที่ประกอบไปด้วยรุ่น 3 ตรวจสอบรายละเอียดเพิ่มเติมเกี่ยวกับเวอร์ชั่นที่นี่ – https://docs.docker.com/compose/compose-file/compose-versioning/

ไฟล์นักเทียบท่านี้ใช้บริการ / แอพพลิเคชั่นสองตัว, เว็บและ Redis บริการเว็บสร้างขึ้นผ่าน dockerfile และทำงานที่พอร์ตเว็บเซิร์ฟเวอร์ขวดเริ่มต้น – 5000 บริการ Redis ทำงานโดยการดึงอิมเมจ Redis จากการลงทะเบียนฮับรีจิสทรี.

ในการเรียกใช้ไฟล์ docker-compose.yml คุณจะต้องเรียกใช้คำสั่งง่าย ๆ : docker-compose

นักเทียบท่าเขียนเวิร์กโฟลว์

ด้านล่างเป็นสามขั้นตอนในการใช้นักแต่งเพลง.

  1. สร้าง dockerfile ของแต่ละบริการ
  2. สร้างไฟล์ docker-compose.yml เพื่อเชื่อมต่อไฟล์นักเทียบท่าทั้งหมด
  3. รันคำสั่งนักเทียบท่าเพื่อเริ่มต้นระบบ

ขอยกตัวอย่างไฟล์เขียนนักเทียบท่าที่เราเห็นก่อนหน้านี้และแสดงให้คุณเห็นว่าโครงสร้างโครงการจะถูกสร้างขึ้นอย่างไร.

-app ของฉัน

| —– เว็บ

| ——— Dockerfile

| —– Redis

| นักเทียบท่า-compose.yml

แอพของฉันคือไดเรกทอรีโครงการหลักของฉัน ไดเร็กทอรีนี้มีไดเร็กทอรีเซอร์วิสของเว็บและ Redis และไฟล์ YAML ที่ประกอบด้วย Docker-compose Dockerfile ของบริการบนเว็บมีอยู่ในสารบบเว็บ เนื่องจากบริการ Redis ถูกดึงจากฮับ docker โดยตรงจึงไม่จำเป็นต้องใช้ dockerfile ในไดเรกทอรี Redis นี่เป็นลักษณะของเวิร์กโฟลว์ที่ประกอบด้วยนักเทียบท่า.

การบรรจุแอปพลิเคชัน MEAN สแต็กโดยใช้ Docker Compose

เมื่อคุณเข้าใจแนวคิดพื้นฐานแล้ว ให้ฉันแสดงตัวอย่างเกี่ยวกับวิธีการคอนเทนเนอร์แอปพลิเคชัน MEAN กองซ้อนโดยใช้นักเทียบท่าเขียน.

MEAN ย่อมาจาก MongoDB, Express, Angular และ Node.js แอปพลิเคชันที่ใช้บริการเหล่านี้ด้วยกันจะเรียกว่าแอปพลิเคชัน MEAN / Full-stack.

สำหรับการสาธิตนี้เราจะเรียกใช้คอนเทนเนอร์สามท่า:

  • คอนเทนเนอร์ 1 – เชิงมุม
  • คอนเทนเนอร์ 2 – NodeJS และ ExpressJS
  • ตู้คอนเทนเนอร์ 3 – MongoDB

ดาวน์โหลดแอปพลิเคชันที่สมบูรณ์ที่นี่: http://bit.ly/2St7r3A (ไม่ผ่านการทดสอบสำหรับการผลิต)

นี่คือลักษณะที่ไฟล์ docker-compose.yml ของฉันจะมีลักษณะเหมือนการเรียกใช้คอนเทนเนอร์ทั้งสามนี้:

รุ่น: ‘3’

บริการ:

เชิงมุม:

สร้าง: ลูกค้าเชิงมุม

พอร์ต:

– "4200: 4200"

ปริมาณ:

– ./ เชิงมุมลูกค้า /: / var / www / แอป

ด่วน:

สร้าง: เซิร์ฟเวอร์ด่วน

พอร์ต:

– "3000: 3000"

ปริมาณ:

– ./ แสดงเซิร์ฟเวอร์ /: / var / www / แอป

ลิงค์:

– ฐานข้อมูล

ฐานข้อมูล:

ภาพ: Mongo

พอร์ต:

– "27017: 27017"

  • บรรทัดแรกระบุเวอร์ชันที่เขียนโดยนักเทียบท่าที่ใช้อยู่
  • เรากำลังเปิดให้บริการสามบริการคือเชิงมุมด่วนและฐานข้อมูล
  • บริการเชิงมุมจะถูกสร้างขึ้นโดยใช้ dockerfile มันจะทำงานบนพอร์ต 4200 และปริมาณแอปพลิเคชันคือ / var / www / app
  • บริการด่วนจะถูกสร้างโดยใช้ dockerfile เซิร์ฟเวอร์ด่วนจะทำงานที่พอร์ต 3000 และปริมาณเป็น / var / www / app
  • บริการฐานข้อมูลจะดึงภาพ MongoDB จาก dockerhub และเริ่มที่โพสต์ 27017

แตกโปรเจ็กต์ในโฮมไดเร็กทอรีและไปที่ไดเร็กทอรี angular-client.

[email protected]: ~ $ cd หมายถึง

[email protected]: ~ / หมายถึง $ cd angular-client

เรียกใช้คำสั่งด้านล่างหากคุณไม่ได้ติดตั้งตัวจัดการโหนดแพ็กเกจ (npm) ในระบบของคุณ (ละเว้นหากติดตั้งไว้).

[email protected]: ~ / mean / angular-client $ sudo apt ติดตั้ง npm

[sudo] รหัสผ่านสำหรับ geekflare:

กำลังอ่านรายการแพ็กเกจ … เสร็จแล้ว

อาคารต้นไม้พึ่งพา

กำลังอ่านข้อมูลสถานะ … เสร็จแล้ว

แพ็คเกจเพิ่มเติมต่อไปนี้จะถูกติดตั้ง:

gyp จาวาสคริปต์ที่พบบ่อย libc-ares2 libhttp-parser2.8 libjs-async libjs- รับมรดก libjs-is-typedarray

libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev โหนด -abrev โหนด-ajv

node-ansi node-ansi-color-table โหนด -ansi-regex โหนด – ansi- ลักษณะโหนด -s ansistyles โหนด -aproba โหนด-archy

node-are-we-there-but-node-async node-aws-sign2 ปมความสมดุลของโหนดบล็อก-stream- กระแสปมบลูเบิร์ด

node-boom โหนด-brace-expansion โหนด -builtin- โมดูลโหนด – camelcase โหนด – caseless โหนด – ชอล์กโหนด – cliui

node-clone โหนด -co-node-color- แปลงโหนดสีชื่อโหนดรวมกระแสโหนด-concat-map

node-config-chain node-console-control-strings โหนด-cookie-jar โหนดคัดลอกพร้อมกันโหนด -core-util-is

node-yallist node-yargs โหนด -yargs-parser nodejs nodejs-dev nodejs-doc

แพ็คเกจที่แนะนำ:

apache2 | lighttpd | httpd node-aws-sign node-oauth-sign node-http-signature debhelper

แพ็คเกจใหม่ต่อไปนี้จะได้รับการติดตั้ง:

gyp จาวาสคริปต์ที่พบบ่อย libc-ares2 libhttp-parser2.8 libjs-async libjs- รับมรดก libjs-is-typedarray

libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev โหนด -abrev โหนด-ajv

node-ansi node-ansi-color-table โหนด -ansi-regex โหนด – ansi- รูปแบบโหนด – ansistyles โหนด -aproba โหนด – อาร์ซี

node-are-we-there-but-node-async node-aws-sign2 ปมความสมดุลของโหนดบล็อก-stream- กระแสปมบลูเบิร์ด

0 อัพเกรดแล้ว 212 เพิ่งติดตั้งใหม่ 0 เพื่อลบและ 233 ไม่ได้อัปเกรด.

จำเป็นต้องมีคลังเก็บ 10.5 MB.

หลังจากการดำเนินการนี้จะใช้พื้นที่ดิสก์เพิ่มเติม 53.6 MB.

คุณต้องการทำต่อไปหรือไม่? [Y / n] Y

รับ: 1 http://us.archive.ubuntu.com/ubuntu จักรวาล / จักรวาล amd64 gyp ทั้งหมด 0.1 + 20180428git4d467626-1 [237 kB]

รับ: 2 http://us.archive.ubuntu.com/ubuntu จักรวาล / main amd64 จาวาสคริปต์ทั่วไปทั้งหมด 11 [6,066 B]

รับ: 3 http://us.archive.ubuntu.com/ubuntu จักรวาล / main amd64 libhttp-parser2.8 amd64 2.8.1-1 [20.8 kB]

รับ: 4 http://us.archive.ubuntu.com/ubuntu จักรวาล / จักรวาล amd64 libjs-async ทั้งหมด 0.8.0-3 [25.4 kB]

รับ: 5 http://us.archive.ubuntu.com/ubuntu จักรวาล / จักรวาล amd64 libjs-is-typedarray ทั้งหมด 1.0.0-2 [2,934 B]

ได้รับ: 6 http://us.archive.ubuntu.com/ubuntu จักรวาล / main amd64 libjs-jquery ทั้งหมด 3.2.1-1 [152 kB]

รับ: 7 http://us.archive.ubuntu.com/ubuntu จักรวาล / จักรวาล amd64 libjs-node-uuid ทั้งหมด 1.4.7-5 [11.5 kB]

รับ: 8 http://us.archive.ubuntu.com/ubuntu จักรวาล / main amd64 libjs- ขีดทั้งหมด 1.8.3 ~ dfsg-1 [59.9 kB]

รับ: 9 http://us.archive.ubuntu.com/ubuntu จักรวาลอัปเดต / main amd64 libssl1.0-dev amd64 1.0.2n-1ubuntu6.2 [1,366 kB]

ดึง 10.5 MB ใน 1 นาที 34 วินาที (112 kB / s)

แยกแม่แบบจากแพ็คเกจ: 100%

การเลือกแพคเกจ gyp ที่ไม่ได้เลือกก่อนหน้านี้.

(กำลังอ่านฐานข้อมูล … ปัจจุบันไฟล์ 180130 และไดเรกทอรีที่ติดตั้ง)

กำลังเตรียมที่จะแกะ … / 000-gyp_0.1 + 20180428git4d467626-1_all.deb …

เอาออก gyp (0.1 + 20180428git4d467626-1) …

การเลือกแพคเกจที่ไม่ได้เลือกก่อนหน้านี้จาวาสคริปต์ – ทั่วไป.

กำลังเตรียมที่จะแกะ … / 001-javascript-common_11_all.deb …

การเปิด Javascript-common (11) …

การเลือกแพ็คเกจที่ไม่ได้เลือกก่อนหน้านี้ libhttp-parser2.8: amd64.

กำลังเตรียมที่จะแกะ … / 002-libhttp-parser2.8_2.8.1-1_amd64.deb …

การตั้งค่า node-fstream-ข้าม (0.0.6-2) …

การตั้งค่า node-gyp (3.6.2-2) …

การตั้งค่า node-yargs (10.0.3-2) …

การตั้งค่า npm (5.8.0 + ds-2) …

การประมวลผลทริกเกอร์สำหรับ libc-bin (2.28-0ubuntu1) …

ในไดเรกทอรี angular-client และเรียกใช้การติดตั้ง npm.

[email protected]: ~ / mean / angular-client $ npm ติดตั้ง

> [email protected] ติดตั้ง / home / geekflare / mean / angular-client / node_modules / uws

> สร้างโหนด-gyp ใหม่ > build_log.txt 2>&1 || ออก 0

> [email protected] ติดตั้ง / home / geekflare / mean / angular-client / node_modules / node-sass

> โหนดสคริปต์ / install.js

กำลังดาวน์โหลดไบนารีจาก https://github.com/sass/node-sass/releases/download/v4.7.2/linux-x64-57_binding.node

ดาวน์โหลดเสร็จสิ้น ] – :

บันทึกไบนารีไปที่ /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node

การแคชไบนารีไปยัง /home/geekflare/.npm/node-sass/4.7.2/linux-x64-57_binding.node

> [email protected] postinstall / home / geekflare / mean / angular-client / node_modules / webpack / node_modules / uglifyjs-webpack-plugin

> โหนด lib / post_install.js

> [email protected] postinstall / home / geekflare / mean / angular-client / node_modules / node-sass

> node script / build.js

พบไบนารีที่ /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node

ทดสอบไบนารี

ไบนารีเป็นเรื่องปกติ

เพิ่มแพคเกจ 1457 จาก 1250 คนใน 80.009 วินาที

ตอนนี้ไปที่ไดเรกทอรีด่วนและเรียกใช้การติดตั้ง npm.

[email protected]: ~ / mean / angular-client $ cd ..

[email protected]: ~ / หมายถึง $ cd express-server /

[email protected]: ~ / mean / express-server $ npm ติดตั้ง

ตอนนี้ทุกอย่างได้รับการตั้งค่าเวลาในการเรียกใช้ไฟล์ docker-compose.yml ซึ่งกำลังจะเปิดตัวคอนเทนเนอร์ docker ทั้งหมดและเรียกใช้แอปพลิเคชัน MEAN.

[email protected]: ~ / mean / express-server $ cd ..

[email protected]: ~ / หมายถึง $ นักเทียบท่าเขียนขึ้น

กำลังสร้างเครือข่าย "mean_default" ด้วยไดรเวอร์เริ่มต้น

อาคารเชิงมุม

ขั้นตอนที่ 1/8: จากโหนด: 8

8: การดึงจากไลบรารี / โหนด

a4d8138d0f6b: ดึงเสร็จแล้ว

dbdc36973392: ดึงสมบูรณ์

f59d6d019dd5: ดึงเสร็จสมบูรณ์

aaef3e026258: ดึงเสร็จสมบูรณ์

6e454d3b6c28: ดึงเสร็จ

c717a7c205aa: ดึงเสร็จแล้ว

37add8e5ac11: ดึงเสร็จ

0314ab675d31: ดึงเสร็จแล้ว

012886364728: ดึงเสร็จแล้ว

สรุปข้อมูล: sha256: 310db2abcff097ef44af205d81833282a6d5471002a1b59d7b7459a74152c856

สถานะ: ดาวน์โหลดอิมเมจที่ใหม่กว่าสำหรับโหนด: 8

—> 8e45c884a32e

ขั้นตอนที่ 2/8: RUN mkdir -p / var / www / app

—> ทำงานใน c70a0cab7994

การถอดคอนเทนเนอร์กลาง c70a0cab7994

—> 001c5e840b24

ขั้นตอนที่ 3/8: WORKDIR / var / www / app

—> ทำงานใน 622ebdc41b2f

การถอดคอนเทนเนอร์กลาง 622ebdc41b2f

—> baa2e2347259

ขั้นตอนที่ 4/8: COPY package.json / var / www / app

—> 5b97543befab

ขั้นตอนที่ 5/8: ติดตั้ง RUN npm

—> ทำงานใน 73e3d8b7a701

> [email protected] ติดตั้ง / var / www / app / node_modules / uws

> สร้างโหนด-gyp ใหม่ > build_log.txt 2>&1 || ออก 0

> [email protected] ติดตั้ง / var / www / app / node_modules / node-sass

> โหนดสคริปต์ / install.js

กำลังดาวน์โหลดไบนารีจาก https://github.com/sass/node-sass/releases/download/v4.12.0/linux-x64-57_binding.node

ดาวน์โหลดเสร็จสิ้น

บันทึกไบนารีไปยัง /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node

การแคชไบนารีไปที่ /root/.npm/node-sass/4.12.0/linux-x64-57_binding.node

> [email protected] postinstall / var / www / app / node_modules / core-js

> โหนดสคริปต์ / postinstall || เสียงสะท้อน "ไม่สนใจ"

โครงการต้องการความช่วยเหลือของคุณ! โปรดพิจารณาการสนับสนุนของ core-js ใน Open Collective หรือ Patreon:

> https://opencollective.com/core-js

> https://www.patreon.com/zloirock

> [email protected] postinstall / var / www / app / node_modules / webpack / node_modules / uglifyjs-webpack-plugin

> โหนด lib / post_install.js

> [email protected] postinstall / var / www / app / node_modules / node-sass

> node script / build.js

พบไบนารีที่ /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node

ทดสอบไบนารี

ไบนารีเป็นเรื่องปกติ

เพิ่ม 1606 แพ็กเกจจากผู้ให้ข้อมูล 1,292 รายและตรวจสอบแล้ว 1,792 แพ็คเกจใน 112.427 วินาที

การถอดคอนเทนเนอร์กลาง 73e3d8b7a701

—> 55790d2fae93

ขั้นตอนที่ 6/8: COPY / var / www / แอป

—> 61537aa487f4

ขั้นตอนที่ 7/8: เปิดเผย 4200

—> ทำงานใน 632eedc35a45

กำลังถอดคอนเทนเนอร์กลาง 632eedc35a45

—> 51e75b0e2ebe

ขั้นตอนที่ 8/8: CMD ["NPM", "เริ่มต้น"]

—> ทำงานใน 36bbb12a0d38

กำลังถอดคอนเทนเนอร์กลาง 36bbb12a0d38

—> 9f8d61db600c

สร้างสำเร็จแล้ว 9f8d61db600c

ติดแท็ก mean_angular: สำเร็จแล้ว

การดึงฐานข้อมูล (Mongo :)…

ล่าสุด: การดึงจากห้องสมุด / Mongo

35b42117c431: ดึงเสร็จ

ad9c569a8d98: ดึงเสร็จสมบูรณ์

293b44f45162: ดึงเสร็จแล้ว

0c175077525d: ดึงเสร็จแล้ว

4e73525b52ba: ดึงเสร็จแล้ว

a22695a3f5e9: ดึงเสร็จแล้ว

c5175bcf2977: ดึงเสร็จสมบูรณ์

3e320da07793: ดึงเสร็จแล้ว

01c6db6b2b5a: ดึงเสร็จแล้ว

3bd6e9d03e78: ดึงเสร็จสมบูรณ์

e03dcf51513f: ดึงเสร็จสมบูรณ์

c1956a9e136a: ดึงเสร็จแล้ว

4c35cf22b1d5: ดึงเสร็จสมบูรณ์

อาคารด่วน

ขั้นตอนที่ 1/9: จากโหนด: 8

—> 8e45c884a32e

ขั้นตอนที่ 2/9: RUN mkdir -p / var / www / app

—> การใช้แคช

—> 001c5e840b24

ขั้นตอนที่ 3/9: WORKDIR / var / www / app

—> การใช้แคช

—> baa2e2347259

ขั้นตอนที่ 4/9: COPY package.json / var / www / app

—> 0232ad53c679

ขั้นตอนที่ 5/9: ติดตั้ง RUN npm

—> ทำงานใน c309bf6f218e

เพิ่ม 128 แพ็คเกจจากผู้สนับสนุน 151 คนและตรวจสอบ 233 แพ็คเกจใน 9.055

การถอดคอนเทนเนอร์กลาง c309bf6f218e

—> 49e652884562

ขั้นตอนที่ 6/9: RUN npm install -g nodemon

—> ทำงานใน 0ed5d7f3642b

/ usr / local / bin / nodemon -> /usr/local/lib/node_modules/nodemon/bin/nodemon.js

> [email protected] postinstall / usr / local / lib / node_modules / nodemon

> node bin / postinstall || ออก 0

รักพยักหน้า ตอนนี้คุณสามารถสนับสนุนโครงการผ่านกลุ่มเปิด:

> https://opencollective.com/nodemon/donate

+ [email protected]

เพิ่ม 221 แพ็คเกจจาก 128 ผู้สนับสนุนใน 18.856 วินาที

การลบคอนเทนเนอร์กลาง 0ed5d7f3642b

—> 32c55606f35e

ขั้นตอนที่ 7/9: COPY / var / www / แอป

—> a618b38a2812

ขั้นตอนที่ 8/9: EXPOSE 3000

—> ทำงานใน bea389ab3ef1

การลบคอนเทนเนอร์กลาง bea389ab3ef1

—> 684bbfb31371

ขั้นตอนที่ 9/9: CMD ["NPM", "เริ่มต้น"]

—> ทำงานใน 9aa1b72e4a4e

กำลังถอดคอนเทนเนอร์กลาง 9aa1b72e4a4e

—> 35dcb3df9806

สร้างสำเร็จแล้ว 35dcb3df9806

ติดแท็ก mean_express: สำเร็จแล้ว

กำลังสร้าง mean_angular_1_de44b3f5b988 … เสร็จแล้ว

กำลังสร้าง mean_database_1_708f8f9c3c33 … เสร็จแล้ว

กำลังสร้าง mean_express_1_b57a483a72ee … เสร็จแล้ว

การแนบกับ mean_angular_1_f257e2233ef1, mean_database_1_ccc5c677e00b, mean_express_1_574f07b045fc

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | > [email protected] start / var / www / app

angular_1_f257e2233ef1 | > ng ให้บริการ -H 0.0.0.0

angular_1_f257e2233ef1 |

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.933 + 0000 I ควบคุม [หลัก] ปิดใช้งาน TLS 1.0 โดยอัตโนมัติเพื่อบังคับให้เปิดใช้งาน TLS 1.0 ระบุ –sslDisabledProtocols ‘none’

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [เริ่มต้น] MongoDB เริ่มต้น: pid = 1 พอร์ต = 27017 dbpath = / data / db โฮสต์ 64- บิต = f74b56905249

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] db เวอร์ชัน v4.0.10

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] git เวอร์ชัน: c389e7f69f637f7a1ac3cc9fae843b635f20b766

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] รุ่น OpenSSL: OpenSSL 1.0.2g 1 มี.ค. 2559

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] ตัวจัดสรร: tcmalloc

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] โมดูล: ไม่มี

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] สภาพแวดล้อมการสร้าง:

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [เริ่มต้น] distmod: ubuntu1604

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] distarch: x86_64

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] target_arch: x86_64

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 ฉันควบคุม [initandlisten] ตัวเลือก: {net: {bindIpAll: true}}

express_1_574f07b045fc |

express_1_574f07b045fc | > [email protected] start / var / www / app

express_1_574f07b045fc | > nodemon ./bin/www

express_1_574f07b045fc |

express_1_574f07b045fc | [nodemon] 1.19.1

express_1_574f07b045fc | [nodemon] เพื่อเริ่มต้นใหม่ได้ตลอดเวลาให้ป้อน `rs`

express_1_574f07b045fc | [nodemon] กำลังดู: *. *

express_1_574f07b045fc | [nodemon] การเริ่มต้น ‘node. / bin / www`

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 33.543 + 0000 I เครือข่าย [ผู้ฟัง] การเชื่อมต่อได้รับการยอมรับจาก 172.19.0.4:38958 # 1 (1 การเชื่อมต่อเปิดตอนนี้)

ฐานข้อมูล __ccc5c677e00b | 2019-07-20T22: 33: 33.560 + 0000 I NETWORK [conn1] ได้รับข้อมูลเมตาของไคลเอ็นต์จาก 172.19.0.4:38958 conn1: {ไดรเวอร์: {ชื่อ: "nodejs", รุ่น: "3.0.1" }, ระบบปฏิบัติการ: {type: "ลินุกซ์", ชื่อ: "ลินุกซ์", สถาปัตยกรรม: "x64", รุ่น: "4.18.0-25 ทั่วไป" } แพลตฟอร์ม: "Node.js v8.16.0, LE, mongodb-core: 3.0.1" }

express_1_574f07b045fc | mongodb: เชื่อมต่อแล้ว

angular_1_f257e2233ef1 | ** NG Live Development Server กำลังฟังบน 0.0.0.0:4200 เปิดเบราว์เซอร์ของคุณบน http: // localhost: 4200 / **

angular_1_f257e2233ef1 | วันที่: 2019-07-21T11: 21: 03.868Z – แฮ: 639d9a968476ed482b5c – เวลา: 336ms

angular_1_f257e2233ef1 | 4 ชิ้นไม่เปลี่ยนแปลง

angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19.8 kB [เริ่มต้น] [แสดงผล]

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | webpack: รวบรวมสำเร็จ.

angular_1_f257e2233ef1 | webpack: กำลังรวบรวม…

angular_1_f257e2233ef1 | วันที่: 2019-07-21T11: 25: 15.661Z – แฮช: e5a2b1c1afe0deb396c3 – เวลา: 251ms

angular_1_f257e2233ef1 | 4 ชิ้นไม่เปลี่ยนแปลง

angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19.8 kB [เริ่มต้น] [แสดงผล]

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | webpack: รวบรวมสำเร็จ.

ไปที่เบราว์เซอร์ของคุณและตรวจสอบ https: // localhost: 4200 แอปพลิเคชันของคุณจะเปิดใช้งาน.

เขียนเชิงมุม - นักเทียบท่า

ไปที่ https: // localhost: 3000 เพื่อตรวจสอบว่าเซิร์ฟเวอร์ด่วนกำลังทำงานอยู่หรือไม่.

ด่วน - นักเทียบท่าเขียน

นอกจากนี้คุณยังสามารถเรียกใช้คำสั่งรูปภาพสำหรับนักเทียบท่าเพื่อดูรูปภาพทั้งหมดที่มีอยู่ในนักเทียบ.

[email protected]: ~ / หมายถึงภาพ $ docker

ขนาดของ ID ที่สร้างซ้ำของแท็ก RepOSITORY

mean_express ล่าสุด 35dcb3df9806 14 ชั่วโมงที่ผ่านมา 923MB

mean_angular ล่าสุด 9f8d61db600c 14 ชั่วโมงที่ผ่านมา 1.29GB

โหนด 8 8e45c884a32e 9 วันที่ผ่านมา 895MB

mongo ล่าสุด 785c65f61380 2 สัปดาห์ที่ผ่านมา 412MB

เรียกใช้คำสั่งด้านล่างเพื่อดูภาชนะบรรจุที่ทำงานอยู่ภายในนักเทียบท่า.

[email protected]: ~ / หมายถึง $ docker ps

รหัสภาพภาชนะบรรจุคำสั่งสร้างสถานะชื่อพอร์ต

681c9c34bee2 mean_express        "นักเทียบท่า-entrypoint.s …"   14 ชั่วโมงที่ผ่านมาขึ้น 14 ชั่วโมง 0.0.0.0:3000->3000 / tcp mean_express_1_574f07b045fc

f74b56905249 mongo               "นักเทียบท่า-entrypoint.s …"   14 ชั่วโมงที่ผ่านมาขึ้น 14 ชั่วโมง 0.0.0.0:27017->27017 / tcp mean_database_1_ccc5c677e00b

260ef1e52dab mean_angular        "นักเทียบท่า-entrypoint.s …"   14 ชั่วโมงที่ผ่านมาขึ้น 14 ชั่วโมง 0.0.0.0:4200->4200 / tcp mean_angular_1_f257e2233ef1

ดังนั้นตอนนี้คอนเทนเนอร์นักเทียบท่าทั้งสามนั้นก็ทำงานอยู่.

นักเทียบท่าเขียนดูแลการใช้งานภาชนะทั้งหมดได้อย่างง่ายดาย นี่เป็นตัวอย่างง่ายๆสำหรับการใช้งานสามคอนเทนเนอร์ คุณสามารถจินตนาการได้ว่าจะมีประโยชน์อย่างไรหากแอปพลิเคชั่นต้องเปิดตัวบนคอนเทนเนอร์ 100s ไปข้างหน้าและลองดูว่ามันทำงานอย่างไร.

Tags:

  • นักเทียบท่า

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map