मुझे एक डॉकटर कंटेनर के अंदर चलने वाले माईएसक्यूएल के साथ समस्या हो रही है । मेरी परीक्षण छवि निम्नलिखित डॉकरफाइल से बनाई गई है:
# See: https://index.docker.io/u/brice/mysql/FROM ubuntu:12.10MAINTAINER Joni Kahara <joni.kahara@async.fi> # Because docker replaces /sbin/init: https://github.com/dotcloud/docker/issues/1024RUN dpkg-divert --local --rename --add /sbin/initctlRUN ln -s /bin/true /sbin/initctlRUN apt-get updateRUN apt-get upgrade -yRUN apt-get -y install mysql-serverRUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnfRUN /usr/bin/mysqld_safe & \ sleep 10s && \ mysql -e "GRANT ALL ON *.* to 'root'@'%'; FLUSH PRIVILEGES;"EXPOSE 3306VOLUME ["/var/lib/mysql", "/var/log/mysql"]CMD ["mysqld_safe"]
ऊपर की फ़ाइल से एक छवि बनाने के बाद, मैं इसे इसके साथ चलाता हूं:
docker run -p 3306:3306 asyncfi/magento-mysql
जिसके बाद सब कुछ प्रफुल्लित है और मैं स्थानीय मशीन से माईएसक्यूएल के इस उदाहरण में लॉग इन कर सकता हूं । हालांकि, मैं किसी अन्य मशीन से भी लॉग इन कर सकता हूं ।
मैंने विशिष्ट बंदरगाहों ("छिपे हुए" एसएसएच, एचटीटीपी, एचटीटीपीएस) में आने वाले ट्रैफ़िक को छोड़कर सब कुछ फ़िल्टर करने के लिए अपना फ़ायरवॉल स्थापित किया है, और यह फ़िल्टरिंग वास्तव में काम करने लगती है; अगर मैं उदाहरण के लिए पोर्ट 1234 पर एक डीजेंगो डेवलपमेंट सर्वर चलाता हूं तो मैं स्थानीय मशीन से कनेक्ट करने में सक्षम हूं, लेकिन बाहर से नहीं । इसलिए फ़ायरवॉल पैकेट को फ़िल्टर करने लगता है जब वे एक सर्वर के लिए नियत होते हैं जो "सादे" प्रक्रिया के रूप में चल रहा है, लेकिन तब नहीं जब सर्वर कंटेनर के अंदर चल रहा हो ।
आईपीटीबल्स-एल-वी-लाइन-नंबर निम्नलिखित कहते हैं:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt in out source destination1 2265 107K ACCEPT all -- lo any anywhere anywhere2 240K 319M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED3 14 1040 ACCEPT tcp -- any any anywhere anywhere tcp dpt:<REDACTED>4 21 1092 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http5 6 360 ACCEPT tcp -- any any anywhere anywhere tcp dpt:https6 538 34656 LOG all -- any any anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables DROP: "7 551 35424 DROP all -- any any anywhere anywhereChain FORWARD (policy ACCEPT 5 packets, 296 bytes)num pkts bytes target prot opt in out source destination1 0 0 ACCEPT all -- docker0 docker0 anywhere anywhere2 6752 396K ACCEPT all -- docker0 !docker0 anywhere anywhere3 125K 188M ACCEPT all -- any docker0 anywhere anywhere ctstate RELATED,ESTABLISHEDChain OUTPUT (policy ACCEPT 51148 packets, 14M bytes)num pkts bytes target prot opt in out source destination
डॉकर संस्करण है:
Client version: 0.7.3Go version (client): go1.2Git commit (client): 8502ad4Server version: 0.7.3Git commit (server): 8502ad4Go version (server): go1.2Last stable version: 0.7.3
माईएसक्यूएल पोर्ट बाहरी दुनिया के संपर्क में क्यों है?