Saya rasa blog ini menerangkan masalah anda dengan sangat jelas, anda boleh membacanya dengan teliti, http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html
Docker direka untuk menyediakan penyelesaian penggunaan automatik untuk aplikasi. Ia boleh membuat bekas (mesin maya ringan) dengan cepat pada sistem Linux dan menggunakan serta menjalankan aplikasi dengan mudah melalui fail konfigurasi adalah sangat mudah. Oleh kerana penggunaan bekas, persekitaran pengeluaran dan persekitaran pembangunan boleh dipisahkan dengan mudah tanpa menjejaskan satu sama lain. Ini adalah kaedah buruh pelabuhan yang paling biasa. Lebih banyak cara untuk bermain termasuk aplikasi web berskala besar, penggunaan pangkalan data, penggunaan berterusan, kelompok, persekitaran ujian, pengkomputeran awan berorientasikan perkhidmatan, VDI desktop maya, dsb.
Tanggapan subjektif: Docker ditulis dalam bahasa Go, menggunakan cgroup untuk mencapai pengasingan sumber, dan teknologi kontena menggunakan LXC Ia menyediakan penyelesaian virtualisasi ringan yang boleh menjalankan proses Unix secara bebas. Ia menyediakan cara untuk mengautomasikan penggunaan perisian dalam persekitaran yang selamat dan boleh berulang. Arahan LXC agak rumit Jika anda berminat, berikut adalah artikel yang saya tulis sebelum ini berdasarkan LXC (membina versi mudah platform awan JAVA PAAS anda boleh menyemaknya terlebih dahulu.
Prinsip pelaksanaan, teori yang berkaitan, senario aplikasi, dsb. akan ditulis kemudian dalam siri ini. Berikut adalah gambaran ringkasnya, secara manual sepenuhnya, membina persekitaran berjalan Tomcat berdasarkan Docker. Mula-mula keluar Demo yang baik, kita boleh lihat kesannya, yang boleh membantu kita pergi lebih jauh.
Persekitaran
Dalam semua persekitaran artikel ini, ubuntu-13.10-server-amd64 dijalankan pada VMware WorkStation Ambil perhatian bahawa ia adalah sistem 64-bit, secara teorinya, mesin maya lain juga boleh dilaksanakan sepenuhnya.
Pasang Docker
Docker versi 0.7 memerlukan sokongan Linux kernel 3.8 dan sistem fail AUFS.
Semak sama ada AUFS dipasang
sudo apt-get kemas kini
sudo apt-get install linux-image-extra-uname -r
Tambah kunci repositori Docker
sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
Tambah repositori Docker dan pasang Docker
sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get kemas kini
sudo apt-get install lxc-docker
Semak sama ada Docker telah berjaya dipasang
versi sudo docker
Versi pelanggan keluaran terminal: 0.7.1
Versi Go (pelanggan): go1.2
Komit Git (pelanggan): 88df052
Versi pelayan: 0.7.1
Git commit (pelayan): 88df052
Versi Go (pelayan): go1.2
Versi stabil terakhir: 0.7.1
Alih keluar sudo
Di bawah Ubuntu, apabila melaksanakan Docker, anda perlu memasukkan sudo dan kata laluan setiap kali, yang sangat meletihkan di sini dan tambahkan kebenaran pelaksanaan pengguna semasa kepada kumpulan pengguna docker yang sepadan.
Tambah kumpulan pengguna docker baharu
sudo groupadd docker
Tambah pengguna semasa ke kumpulan pengguna docker Ambil perhatian bahawa yongboy di sini ialah nama pengguna log masuk pelayan ubuntu
sudo gpasswd -pelabuh yongboy
Mulakan semula proses pemantauan latar belakang Docker
sudo service docker restart
Selepas dimulakan semula, cuba untuk melihat sama ada ia berfungsi
versi buruh pelabuhan
Jika ia belum berkuat kuasa lagi, mulakan semula sistem dan ia akan berkuat kuasa
sudo but semula
Pasang mesin maya instance-ubuntu Docker yang menjalankan
Selepas Docker dipasang, proses latar belakang dimulakan secara automatik dan contoh mesin maya boleh dipasang (di sini, ambil imej belajar/tutorial yang digunakan dalam demonstrasi rasmi sebagai contoh):
belajar tarik pekerja pelabuhan/tutorial
Selepas pemasangan selesai, lihat kesannya
larian buruh pelabuhan belajar/tutorial /bin/echo hello world
Masukkan secara interaktif mesin maya yang baru dipasang
docker run -i -t learn/tutorial /bin/bash
Anda akan melihat:
root@51774a81beb3:/#
Menunjukkan bahawa persekitaran interaktif telah dimasukkan.
Pasang pelayan terminal SSH untuk memudahkan penggunaan luar klien SSH kami untuk log masuk dan akses
kemas kini apt-get
apt-get install openssh-server
sshd yang mana
/usr/sbin/sshd
mkdir /var/run/sshd
passwd #Masukkan kata laluan pengguna Saya menetapkannya kepada 123456 di sini untuk memudahkan log masuk klien SSH
keluar #Keluar
Dapatkan ID bekas contoh yang baru anda kendalikan
docker ps -l
PERINTAH IMEJ ID BEKAS DIBUAT NAMA PORT STATUS
51774a81beb3 learn/tutorial:latest /bin/bash 3 minit yang lalu Keluar 0 thirsty_pasteur
Anda boleh melihat bahawa ID bekas operasi semasa ialah: 51774a81beb3. Ambil perhatian bahawa setelah semua operasi dilakukan, mereka perlu diserahkan dan disimpan untuk log masuk SSH yang mudah:
docker commit 51774a81beb3 belajar/tutorial
Jalankan contoh imej ini sebagai proses latar belakang untuk masa yang lama:
larian buruh pelabuhan -d -p 22 -p 80:8080 belajar/tutorial /usr/sbin/sshd -D
Pelayan SSH yang berjalan dalam bekas ubuntu menduduki port 22, dan -p 22 ditentukan. -p 80:8080 bermakna ubuntu kami akan menjalankan tomcat pada port 8080, tetapi port yang dipetakan secara luaran (di luar bekas) ialah 80.
Pada masa ini, semak sama ada ia berjalan dengan jayanya.
dok ps
PERINTAH IMEJ ID BEKAS DIBUAT NAMA PORT STATUS
871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D Kira-kira seminit yang lalu Naik Kira-kira seminit 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare
Ambil perhatian bahawa nombor port sambungan SSH yang diberikan secara rawak ialah 49154:
ssh root@127.0.0.1 -p 49154
Selepas memasukkan kata laluan, bolehkah saya memasukkan? Sebaik sahaja anda mengawal SSH, selebihnya adalah sangat mudah, pasang JDK, pasang tomcat, dll., terpulang kepada anda. Berikut ialah skrip pemasangan:
tar xvf apache-tomcat-7.0.47.tar.gz
cd apache-tomcat-7.0.47
bin/startup.sh
Secara lalai, tomcat akan menduduki port 8080. Apabila memulakan contoh cermin, -p 80:8080 telah ditentukan Contoh/bekas cermin ubuntu membuka port 8080, yang dipetakan ke port hos 80. Jika anda tahu alamat IP hos, anda boleh mengaksesnya dengan bebas. Pada mesin hos, hanya mengujinya melalui curl:
gulung http://192.168.190.131
Sudah tentu, anda juga boleh menggunakan pelayar untuk mengaksesnya.
Dalam situasi sebenar, tomcat mungkin tidak dibenarkan membuka port 80 secara terus ke dunia luar Ia biasanya terletak di belakang nginx/apache atau firewall sahaja.
Ringkasan
Membina persekitaran masa jalan Tomcat dengan bantuan Docker adalah sangat mudah secara umum dan membolehkan kami melihat kehadiran PAAS. Ya, menggunakan Docker sebagai perkhidmatan asas PAAS tidak rumit dengan sendirinya. Sekarang ada masa untuk bercakap tentang cara menggunakan fail skrip untuk membina contoh imej, dan pada masa yang sama bercakap tentang prinsip dan mekanisme pelaksanaan Docker.
Saya rasa blog ini menerangkan masalah anda dengan sangat jelas, anda boleh membacanya dengan teliti,
http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html
Docker direka untuk menyediakan penyelesaian penggunaan automatik untuk aplikasi. Ia boleh membuat bekas (mesin maya ringan) dengan cepat pada sistem Linux dan menggunakan serta menjalankan aplikasi dengan mudah melalui fail konfigurasi adalah sangat mudah. Oleh kerana penggunaan bekas, persekitaran pengeluaran dan persekitaran pembangunan boleh dipisahkan dengan mudah tanpa menjejaskan satu sama lain. Ini adalah kaedah buruh pelabuhan yang paling biasa. Lebih banyak cara untuk bermain termasuk aplikasi web berskala besar, penggunaan pangkalan data, penggunaan berterusan, kelompok, persekitaran ujian, pengkomputeran awan berorientasikan perkhidmatan, VDI desktop maya, dsb.
Tanggapan subjektif: Docker ditulis dalam bahasa Go, menggunakan cgroup untuk mencapai pengasingan sumber, dan teknologi kontena menggunakan LXC Ia menyediakan penyelesaian virtualisasi ringan yang boleh menjalankan proses Unix secara bebas. Ia menyediakan cara untuk mengautomasikan penggunaan perisian dalam persekitaran yang selamat dan boleh berulang. Arahan LXC agak rumit Jika anda berminat, berikut adalah artikel yang saya tulis sebelum ini berdasarkan LXC (membina versi mudah platform awan JAVA PAAS anda boleh menyemaknya terlebih dahulu.
Prinsip pelaksanaan, teori yang berkaitan, senario aplikasi, dsb. akan ditulis kemudian dalam siri ini. Berikut adalah gambaran ringkasnya, secara manual sepenuhnya, membina persekitaran berjalan Tomcat berdasarkan Docker. Mula-mula keluar Demo yang baik, kita boleh lihat kesannya, yang boleh membantu kita pergi lebih jauh.
Persekitaran
Dalam semua persekitaran artikel ini, ubuntu-13.10-server-amd64 dijalankan pada VMware WorkStation Ambil perhatian bahawa ia adalah sistem 64-bit, secara teorinya, mesin maya lain juga boleh dilaksanakan sepenuhnya.
Pasang Docker
Docker versi 0.7 memerlukan sokongan Linux kernel 3.8 dan sistem fail AUFS.
Semak sama ada AUFS dipasang
sudo apt-get kemas kini
sudo apt-get install linux-image-extra-
uname -r
Tambah kunci repositori Docker
sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
Tambah repositori Docker dan pasang Docker
sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get kemas kini
sudo apt-get install lxc-docker
Semak sama ada Docker telah berjaya dipasang
versi sudo docker
Versi pelanggan keluaran terminal: 0.7.1
Versi Go (pelanggan): go1.2
Komit Git (pelanggan): 88df052
Versi pelayan: 0.7.1
Git commit (pelayan): 88df052
Versi Go (pelayan): go1.2
Versi stabil terakhir: 0.7.1
Alih keluar sudo
Di bawah Ubuntu, apabila melaksanakan Docker, anda perlu memasukkan sudo dan kata laluan setiap kali, yang sangat meletihkan di sini dan tambahkan kebenaran pelaksanaan pengguna semasa kepada kumpulan pengguna docker yang sepadan.
Tambah kumpulan pengguna docker baharu
sudo groupadd docker
Tambah pengguna semasa ke kumpulan pengguna docker Ambil perhatian bahawa yongboy di sini ialah nama pengguna log masuk pelayan ubuntu
sudo gpasswd -pelabuh yongboy
Mulakan semula proses pemantauan latar belakang Docker
sudo service docker restart
Selepas dimulakan semula, cuba untuk melihat sama ada ia berfungsi
versi buruh pelabuhan
Jika ia belum berkuat kuasa lagi, mulakan semula sistem dan ia akan berkuat kuasa
sudo but semula
Pasang mesin maya instance-ubuntu Docker yang menjalankan
Selepas Docker dipasang, proses latar belakang dimulakan secara automatik dan contoh mesin maya boleh dipasang (di sini, ambil imej belajar/tutorial yang digunakan dalam demonstrasi rasmi sebagai contoh):
belajar tarik pekerja pelabuhan/tutorial
Selepas pemasangan selesai, lihat kesannya
larian buruh pelabuhan belajar/tutorial /bin/echo hello world
Masukkan secara interaktif mesin maya yang baru dipasang
docker run -i -t learn/tutorial /bin/bash
Anda akan melihat:
root@51774a81beb3:/#
Menunjukkan bahawa persekitaran interaktif telah dimasukkan.
Pasang pelayan terminal SSH untuk memudahkan penggunaan luar klien SSH kami untuk log masuk dan akses
kemas kini apt-get
apt-get install openssh-server
sshd yang mana
/usr/sbin/sshd
mkdir /var/run/sshd
passwd #Masukkan kata laluan pengguna Saya menetapkannya kepada 123456 di sini untuk memudahkan log masuk klien SSH
keluar #Keluar
Dapatkan ID bekas contoh yang baru anda kendalikan
docker ps -l
PERINTAH IMEJ ID BEKAS DIBUAT NAMA PORT STATUS
51774a81beb3 learn/tutorial:latest /bin/bash 3 minit yang lalu Keluar 0 thirsty_pasteur
Anda boleh melihat bahawa ID bekas operasi semasa ialah: 51774a81beb3. Ambil perhatian bahawa setelah semua operasi dilakukan, mereka perlu diserahkan dan disimpan untuk log masuk SSH yang mudah:
docker commit 51774a81beb3 belajar/tutorial
Jalankan contoh imej ini sebagai proses latar belakang untuk masa yang lama:
larian buruh pelabuhan -d -p 22 -p 80:8080 belajar/tutorial /usr/sbin/sshd -D
Pelayan SSH yang berjalan dalam bekas ubuntu menduduki port 22, dan -p 22 ditentukan. -p 80:8080 bermakna ubuntu kami akan menjalankan tomcat pada port 8080, tetapi port yang dipetakan secara luaran (di luar bekas) ialah 80.
Pada masa ini, semak sama ada ia berjalan dengan jayanya.
dok ps
PERINTAH IMEJ ID BEKAS DIBUAT NAMA PORT STATUS
871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D Kira-kira seminit yang lalu Naik Kira-kira seminit 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare
Ambil perhatian bahawa nombor port sambungan SSH yang diberikan secara rawak ialah 49154:
ssh root@127.0.0.1 -p 49154
Selepas memasukkan kata laluan, bolehkah saya memasukkan? Sebaik sahaja anda mengawal SSH, selebihnya adalah sangat mudah, pasang JDK, pasang tomcat, dll., terpulang kepada anda. Berikut ialah skrip pemasangan:
Pasang oracle jdk 7 pada ubuntu 12.04
apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
kemas kini apt-get
apt-get install -y wget
apt-get install oracle-java7-installer
java -version
Muat turun tomcat 7.0.47
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
Ekstrak dan jalankan
tar xvf apache-tomcat-7.0.47.tar.gz
cd apache-tomcat-7.0.47
bin/startup.sh
Secara lalai, tomcat akan menduduki port 8080. Apabila memulakan contoh cermin, -p 80:8080 telah ditentukan Contoh/bekas cermin ubuntu membuka port 8080, yang dipetakan ke port hos 80. Jika anda tahu alamat IP hos, anda boleh mengaksesnya dengan bebas. Pada mesin hos, hanya mengujinya melalui curl:
gulung http://192.168.190.131
Sudah tentu, anda juga boleh menggunakan pelayar untuk mengaksesnya.
Dalam situasi sebenar, tomcat mungkin tidak dibenarkan membuka port 80 secara terus ke dunia luar Ia biasanya terletak di belakang nginx/apache atau firewall sahaja.
Ringkasan
Membina persekitaran masa jalan Tomcat dengan bantuan Docker adalah sangat mudah secara umum dan membolehkan kami melihat kehadiran PAAS. Ya, menggunakan Docker sebagai perkhidmatan asas PAAS tidak rumit dengan sendirinya. Sekarang ada masa untuk bercakap tentang cara menggunakan fail skrip untuk membina contoh imej, dan pada masa yang sama bercakap tentang prinsip dan mekanisme pelaksanaan Docker.