前幾篇docker的文章介紹啟動容器時都是只啟動乙個後台服務,今天來說說怎樣通過supervisor來啟動多個服務
1. 首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下
from centos:centos6maintainer fanbin kong "[email protected]"run rpm -ivh yum install -y openssh-server sudo mysql-server mysql supervisorrun sed -i 's/usepam yes/usepam no/g' /etc/ssh/sshd_config run useradd adminrun echo "admin:admin" | chpasswdrun echo "admin all=(all) all" >> /etc/sudoers run ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_keyrun ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyrun mkdir /var/run/sshdrun /etc/init.d/mysqld start &&\ mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\ mysql -u root -pletmein -e "show databases;"run mkdir -p /var/log/supervisorcopy supervisord.conf /etc/supervisord.confexpose 22 3306cmd ["/usr/bin/supervisord"]
2. 在dockerfile所在目錄下建立supervisord.conf檔案,內容如下:
[supervisord]nodaemon=true[program:sshd]command=/usr/sbin/sshd -d[program:mysqld]command=/usr/bin/mysqld_safe
3. 在dockerfile所在目錄下執行build命令來生成image檔案,這裡使用mysql_server作為image檔名
sudo docker build -t myserver .
4. 啟動容器
4.1 首先使用下面的命令來啟動容器
sudo docker run --name=myserver -d -p myserver
4.2 啟動完容器後,可以使用「sudo docker ps」來檢視,此時可以看ports列內容為
「0.0.0.0:49171->22/tcp, 0.0.0.0:49172->3306/tcp」
容器的22埠和3306埠會被對映到宿主機器的49171和49172埠。
4.3 此時就可以通過下面的命令來訪問ssh和mysql服務了
ssh admin@《宿主機器》 -p 《宿主機器埠》mysql -h 《宿主機器》 -u root -pletmein -p 49172
4.4 當然也可以使用「sudo docker inspect myserver | grep ipaddress」來檢視容器ip位址,然後通過下面命令訪問ssh和mysql服務
ssh admin@《容器機器ip> mysql -h 《容器機器ip> -u root -pletmein
前幾篇docker的文章介紹啟動容器時都是只啟動乙個後台服務,今天來說說怎樣通過supervisor來啟動多個服務
1. 首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下
from centos:centos6maintainer fanbin kong "[email protected]"run rpm -ivh yum install -y openssh-server sudo mysql-server mysql supervisorrun sed -i 's/usepam yes/usepam no/g' /etc/ssh/sshd_config run useradd adminrun echo "admin:admin" | chpasswdrun echo "admin all=(all) all" >> /etc/sudoers run ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_keyrun ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyrun mkdir /var/run/sshdrun /etc/init.d/mysqld start &&\ mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\ mysql -u root -pletmein -e "show databases;"run mkdir -p /var/log/supervisorcopy supervisord.conf /etc/supervisord.confexpose 22 3306cmd ["/usr/bin/supervisord"]
2. 在dockerfile所在目錄下建立supervisord.conf檔案,內容如下:
[supervisord]nodaemon=true[program:sshd]command=/usr/sbin/sshd -d[program:mysqld]command=/usr/bin/mysqld_safe
3. 在dockerfile所在目錄下執行build命令來生成image檔案,這裡使用mysql_server作為image檔名
sudo docker build -t myserver .
4. 啟動容器
4.1 首先使用下面的命令來啟動容器
sudo docker run --name=myserver -d -p myserver
4.2 啟動完容器後,可以使用「sudo docker ps」來檢視,此時可以看ports列內容為
「0.0.0.0:49171->22/tcp, 0.0.0.0:49172->3306/tcp」
容器的22埠和3306埠會被對映到宿主機器的49171和49172埠。
4.3 此時就可以通過下面的命令來訪問ssh和mysql服務了
ssh admin@《宿主機器》 -p 《宿主機器埠》mysql -h 《宿主機器》 -u root -pletmein -p 49172
4.4 當然也可以使用「sudo docker inspect myserver | grep ipaddress」來檢視容器ip位址,然後通過下面命令訪問ssh和mysql服務
ssh admin@《容器機器ip> mysql -h 《容器機器ip> -u root -pletmein
Docker同時啟動多個服務
前幾篇docker的文章介紹啟動容器時都是只啟動乙個後台服務,今天來說說怎樣通過supervisor來啟動多個服務 1.首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下 from centos centos6maintainer fanbin kong kongxx hotmai...
同時啟動多個Tomcat伺服器
1 修改http訪問埠 預設為8080埠 connector classname org.apache.coyote.tomcat4.coyoteconnector port 8080 5 maxprocessors 75 true redirectport 8443 100 debug 0 con...
同時啟動多個Tomcat
一台pc機上同時啟動多個tomcat 環境 兩個tomcat7.0.20,使用乙個jvm,jdk7,win7 64位系統。系統環境變數裡的catalina home已經刪除,根據catalina.bat裡的 來看,應該走的是自己設定的臨時環境變數。兩個startup.bat最前面加上一句set ca...