Mulakan dengan Docker dalam masa lima minit
Docker ialah enjin kontena sumber terbuka, dan kontena sebenarnya adalah persekitaran bebas maya Oleh itu, pembangun boleh membungkus aplikasi ke dalam bekas docker sedemikian dan kemudian menerbitkannya ke mana-mana mesin yang boleh menjalankan bekas docker untuk mencapai Pakej dan menggunakan berbilang. tempat pada satu masa, menyelesaikan masalah penempatan yang disebabkan oleh masalah alam sekitar.
Konsep yang sepadan dengan bekas adalah imej Imej boleh dianggap sebagai imej sistem pemasangan harian kami, yang merupakan persekitaran berjalan. Sudah tentu, saya lebih suka membandingkan imej dengan kelas dalam pengaturcaraan berorientasikan objek kami, dan bekas ialah contoh kelas, jadi banyak bekas boleh dibuat berdasarkan satu imej. Setiap bekas adalah khusus. Kita boleh membuat perubahan pada bekas dan kemudian membungkus bekas itu ke dalam imej baharu, supaya bekas baharu boleh dibuat berdasarkan imej yang diubah suai pada masa hadapan. Bekas itu sendiri boleh difahami secara ringkas sebagai persekitaran berjalan bebas maya Apa yang perlu kami lakukan ialah membungkus aplikasi kami dalam persekitaran ini untuk penggunaan mudah semula.
Gentoo
# emerge --ask docker
CentOS
# yum install docker-ce
Ubuntu
# apt-get install docker-ce
Lengkungan
# pacman -S docker
# systemctl start docker
# docker --help 管理命令: container 管理容器 image 管理镜像 network 管理网络 命令: attach 介入到一个正在运行的容器 build 根据 Dockerfile 构建一个镜像 commit 根据容器的更改创建一个新的镜像 cp 在本地文件系统与容器中复制 文件/文件夹 create 创建一个新容器 exec 在容器中执行一条命令 images 列出镜像 kill 杀死一个或多个正在运行的容器 logs 取得容器的日志 pause 暂停一个或多个容器的所有进程 ps 列出所有容器 pull 拉取一个镜像或仓库到 registry push 推送一个镜像或仓库到 registry rename 重命名一个容器 restart 重新启动一个或多个容器 rm 删除一个或多个容器 rmi 删除一个或多个镜像 run 在一个新的容器中执行一条命令 search 在 Docker Hub 中搜索镜像 start 启动一个或多个已经停止运行的容器 stats 显示一个容器的实时资源占用 stop 停止一个或多个正在运行的容器 tag 为镜像创建一个新的标签 top 显示一个容器内的所有进程 unpause 恢复一个或多个容器内所有被暂停的进程
Terdapat lebih banyak pilihan yang kaya dalam subperintah, yang boleh dilihat menggunakan DOcker COMMAND --help. Contohnya:
# larian buruh pelabuhan --tolong
Penggunaan docker dalam amalanSeterusnya, saya akan menggunakan docker untuk menggunakan pelayan Nginx sebagai contoh. Untuk membuat bekas, kita mesti mempunyai imej yang digunakan untuk mencipta bekas itu. Cari imej berkaitan nginx dalam hab docker.
# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 6959 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1134 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 452 [OK] ... ...
Tarik gambar rasmi Gambar tidak rasmi di atas adalah gambar yang dibuat oleh pengguna mengikut keperluan sendiri untuk kemudahan semua.
# docker pull nginx Using default tag: latest latest: Pulling from library/nginx afeb2bfd31c0: Pull complete 7ff5d10493db: Downloading [===============> ] 6.651 MB/21.87 MB d2562f1ae1d0: Download complete
By the way, imej docker disimpan dalam lapisan, jadi imej nginx di atas mempunyai 3 lapisan Selain itu, setiap kali imej baru dibuat berdasarkan bekas baru, satu lapisan akan ditambah pada imej.
Seterusnya, gunakan imej ini untuk memulakan bekas baharu secara langsung:
# docker run --name my-nginx -d -p 8080:80 nginx
Pada masa ini, masukkan: http://localhost:8080/ dalam penyemak imbas untuk mengakses nginx. Penjelasan parameter:
- --nama Beri nama bekas Sintaks parameter
- -p ialah -p port hos:port kontena; -p 8080:80 mengikat port 8080 pada hos ke port 80 pada bekas, jadi mengakses port 8080 pada hos sebenarnya mengakses port 80 bekas nginx
- -d menjalankan bekas di latar belakang
Kemudian mari kita lihat contoh yang lebih kompleks:
# docker run --name my-nginx \ -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /some/html:/usr/share/nginx/html:ro \ -p 8080:80 \ -d nginx
Contoh ini mempunyai parameter tambahan -v Fungsi parameter ini adalah untuk melekapkan fail atau folder tempatan ke dalam bekas. Ro atau rw terakhir mengawal sama ada pelekap boleh ditulis.
- -v sintaks parameter ialah -v host dir:container dir[:ro|rw]
Arahan di atas melekapkan fail konfigurasi nginx.conf dalam fail setempat ke bekas, dan juga melekapkan halaman statik untuk dipaparkan pada bekas. Nota: Selepas bekas melaksanakan arahan, apabila arahan tamat, bekas itu juga akan tamat.
Seterusnya mari kita lihat arahan docker yang lain.
Lihat semua bekas yang sedang berjalan:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1fe91b5a4cd4 nginx "nginx -g 'daemon ..." 39 minutes ago Up 39 minutes 0.0.0.0:8080->80/tcp my-nginx # docker ps -a ### 列出包括未运行的容器
Lihat log bekas berjalan:
# docker logs my-nginx 172.17.0.1 - - [05/Oct/2017:07:31:11 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" "-" 2017/10/05 07:31:11 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080"
Mulakan semula bekas:
# docker restart my-nginx my-nginx
Berhenti menjalankan bekas:
# docker stop my-nginx my-nginx # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Mulakan bekas sedia ada:
# docker start my-nginx my-nginx # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1fe91b5a4cd4 nginx "nginx -g 'daemon ..." 50 minutes ago Up 3 seconds 0.0.0.0:8080->80/tcp my-nginx
Bunuh bekas yang sedang berjalan terus:
# docker kill my-nginx
Namakan semula bekas:
# docker rename my-nginx new-nginx
Padam bekas:
# docker rm new-nginx
Lihat semua imej mesin ini:
# docker imags
Buat imej menggunakan bekas sedia ada:
# docker commit -m "nothing changed" my-nginx my-nginx-image sha256:f02483cdb842a0dc1730fe2c653603fa3271e71c31dbb442caccd7ad64860350 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE my-nginx-image latest f02483cdb842 6 seconds ago 108 MB nginx latest da5939581ac8 3 weeks ago 108 MB
Buat bekas menggunakan imej yang kami cipta sendiri:
# docker run --name test -d -p 8081:80 my-nginx-image 12ba86eabdef0121d875bdb547f1101d4eb54ff7cb36e20214fb1388659af83d # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 12ba86eabdef my-nginx-image "nginx -g 'daemon ..." 7 seconds ago Up 5 seconds 0.0.0.0:8081->80/tcp test 299f4ede9e79 nginx "nginx -g 'daemon ..." 11 minutes ago Up 11 minutes 0.0.0.0:8080->80/tcp my-nginx
Jika arahan permulaan bekas yang kita gunakan adalah shell, maka kita boleh menggunakan arahan attach untuk campur tangan dalam bekas, sama seperti kita menggunakan ssh untuk menyambung ke pelayan.
# docker attach some-container
Mulakan shell interaktif secara langsung apabila mencipta bekas, dan padamkan bekas secara automatik selepas keluar:
# docker run -it --rm centos
Artikel ini memperkenalkan penggunaan mudah docker, dan juga memberikan contoh praktikal untuk menunjukkan pelbagai operasi arahan docker. Sebagai artikel permulaan cepat, artikel ini agak mudah Banyak perkara konsep memerlukan membaca maklumat lain untuk memahami, tetapi selepas membaca artikel ini, anda harus mempunyai keupayaan asas untuk menggunakan docker. Di samping itu, artikel seterusnya harus menulis tentang Dockerfile dan docker-compose.
Atas ialah kandungan terperinci Mulakan dengan Docker dalam masa lima minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Sebab -sebab pemasangan sambungan kod VS mungkin: ketidakstabilan rangkaian, kebenaran yang tidak mencukupi, isu keserasian sistem, versi kod VS terlalu lama, perisian antivirus atau gangguan firewall. Dengan menyemak sambungan rangkaian, keizinan, fail log, mengemas kini kod VS, melumpuhkan perisian keselamatan, dan memulakan semula kod VS atau komputer, anda boleh menyelesaikan masalah dan menyelesaikan masalah secara beransur -ansur.

VS Kod boleh didapati di Mac. Ia mempunyai sambungan yang kuat, integrasi git, terminal dan debugger, dan juga menawarkan banyak pilihan persediaan. Walau bagaimanapun, untuk projek yang sangat besar atau pembangunan yang sangat profesional, kod VS mungkin mempunyai prestasi atau batasan fungsi.

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

Walaupun Notepad tidak dapat menjalankan kod Java secara langsung, ia dapat dicapai dengan menggunakan alat lain: menggunakan pengkompil baris arahan (Javac) untuk menghasilkan fail bytecode (fileName.class). Gunakan Java Interpreter (Java) untuk mentafsir bytecode, laksanakan kod, dan output hasilnya.

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

Visual Studio Code (VSCode) adalah editor cross-platform, sumber terbuka dan editor kod percuma yang dibangunkan oleh Microsoft. Ia terkenal dengan ringan, skalabilitas dan sokongan untuk pelbagai bahasa pengaturcaraan. Untuk memasang VSCode, sila lawati laman web rasmi untuk memuat turun dan jalankan pemasang. Apabila menggunakan VSCode, anda boleh membuat projek baru, edit kod, kod debug, menavigasi projek, mengembangkan VSCode, dan menguruskan tetapan. VSCode tersedia untuk Windows, MacOS, dan Linux, menyokong pelbagai bahasa pengaturcaraan dan menyediakan pelbagai sambungan melalui pasaran. Kelebihannya termasuk ringan, berskala, sokongan bahasa yang luas, ciri dan versi yang kaya
