{"id":1265,"date":"2016-10-24T16:32:02","date_gmt":"2016-10-24T08:32:02","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=1265"},"modified":"2016-10-24T16:32:02","modified_gmt":"2016-10-24T08:32:02","slug":"how-to-build-an-in-house-docker-environment-step-by-step","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=1265","title":{"rendered":"How to build an in-house Docker environment step by step?"},"content":{"rendered":"<div>\u4e3b\u8981\u5185\u5bb9:<\/div>\n<div>1.\u73af\u5883\u51c6\u5907;<\/div>\n<div>2.\u5b89\u88c5\u5e76\u542f\u52a8Docker;<\/div>\n<div>3.\u90e8\u7f72\u79c1\u6709Registry\u670d\u52a1\u5668;<\/div>\n<div>4.\u5b89\u88c5\u5e76\u914d\u7f6eRancher;<\/div>\n<div>5.\u521b\u5efa\u4e00\u4e2a\u591a\u5bb9\u5668\u7684\u5e94\u7528;<\/div>\n<div><\/div>\n<div>1.\u73af\u5883\u51c6\u5907:<\/div>\n<div>1.1 \u8f6f\u4ef6\u7248\u672c\u4ecb\u7ecd:<\/div>\n<div>\u00a0 \u00a0 1.OS:CentOS7.2\/3.10.0-327.el7.x86_64(\u8f6f\u4ef6);<\/div>\n<div>\u00a0 \u00a0 2.docker:1.11.2(\u8f6f\u4ef6);<\/div>\n<div>\u00a0 \u00a0 3.rancher\/server:v1.1.2(\u5bb9\u5668);<\/div>\n<div>\u00a0 \u00a0 4.rancher\/agent:v1.0.2(\u5bb9\u5668);<\/div>\n<div>\u00a0 \u00a0 5.rancher\/agent-instance:v0.8.3(\u5bb9\u5668);<\/div>\n<div>\u00a0 \u00a0 6.registry:2.5.0(\u5bb9\u5668);<\/div>\n<div>\u00a0 \u00a0 7.mysql:5.7.13(\u5bb9\u5668);<\/div>\n<div>1.2 \u670d\u52a1\u5668\u51c6\u5907:<\/div>\n<div>\u00a0 \u00a0 1.Rancher\u670d\u52a1\u5668:192.168.10.160\/rancher.htsec.com;\u7528\u6765\u5b89\u88c5Docker\u670d\u52a1,Register\u670d\u52a1,Rancher\u670d\u52a1,Rancher\u4ee3\u7406\u548cMySQL\u670d\u52a1;<\/div>\n<div>\u00a0 \u00a0 2.Container1\u670d\u52a1\u5668:192.168.10.161\/container1.htsec.com;\u7528\u6765\u5b89\u88c5Docker\u670d\u52a1,Rancher\u4ee3\u7406\u548c\u521b\u5efa\u5bb9\u5668;<\/div>\n<div>\u00a0 \u00a0 3.Container2\u670d\u52a1\u5668:192.168.10.162\/container2.htsec.com;\u7528\u6765\u5b89\u88c5Docker\u670d\u52a1,Rancher\u4ee3\u7406\u548c\u521b\u5efa\u5bb9\u5668;<\/div>\n<div>1.3 \u670d\u52a1\u5668\u914d\u7f6e:<\/div>\n<div># \u5206\u522b\u8bbe\u7f6ehostname:<\/div>\n<div>hostnamectl set-hostname rancher.htsec.com<\/div>\n<div>hostnamectl set-hostname container1.htsec.com<\/div>\n<div>hostnamectl set-hostname container2.htsec.com<\/div>\n<div># \u5206\u522b\u5173\u95ed\u9632\u706b\u5899\u548c\u7f51\u7edc\u7ba1\u7406\u670d\u52a1:<\/div>\n<div>systemctl stop firewalld.service<\/div>\n<div>systemctl disable firewalld.service<\/div>\n<div>systemctl stop NetworkManager.service<\/div>\n<div>systemctl disable NetworkManager.service<\/div>\n<div># \u5206\u522b\u914d\u7f6e\/etc\/hosts:<\/div>\n<div>127.0.0.1\u00a0 \u00a0localhost localhost.localdomain localhost4 localhost4.localdomain4<\/div>\n<div>::1\u00a0 \u00a0 \u00a0 \u00a0 \u00a0localhost localhost.localdomain localhost6 localhost6.localdomain6<\/div>\n<div>192.168.10.160\u00a0 rancher.htsec.com\u00a0 \u00a0 \u00a0 \u00a0rancher<\/div>\n<div>192.168.10.160\u00a0 docker.htsec.com\u00a0 \u00a0 \u00a0 \u00a0 docker<\/div>\n<div>192.168.10.160\u00a0 registry.htsec.com\u00a0 \u00a0 \u00a0 registry<\/div>\n<div>192.168.10.160\u00a0 mysql.htsec.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0mysql<\/div>\n<div>192.168.10.161\u00a0 container1.htsec.com\u00a0 \u00a0 container1<\/div>\n<div>192.168.10.162\u00a0 container2.htsec.com\u00a0 \u00a0 container2<\/div>\n<div>1.4 \u4e0b\u8f7dDocker\u76f8\u5173\u5305(\u5728\u53ef\u4ee5\u8fde\u516c\u7f51\u7684\u673a\u5668\u4e0b\u8f7d,\u4e0a\u4f20\u5230\u5185\u7f51\u670d\u52a1\u5668):<\/div>\n<div>wget -S -c -r -np -L https:\/\/yum.dockerproject.org\/repo\/main\/centos\/7\/;<\/div>\n<div>mkdir -p \/tools\/docker\/centos7<\/div>\n<div>mv yum.dockerproject.org\/repo\/main\/centos\/7\/* \/tools\/docker\/centos7\/<\/div>\n<div>1.5 \u6dfb\u52a0\/etc\/yum.repos.d\/docker.repo\u6587\u4ef6,\u914d\u7f6eyum\u6e90;<\/div>\n<div>[dockerrepo]<\/div>\n<div>name=Docker Repository<\/div>\n<div>baseurl=file:\/\/\/tools\/docker\/centos7<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div>1.6 \u6302\u8f7d\u64cd\u4f5c\u7cfb\u7edf\u5149\u76d8,\u6dfb\u52a0\/etc\/yum.repos.d\/centos.repo\u6587\u4ef6,\u914d\u7f6eyum\u6e90:<\/div>\n<div>mkdir -p \/tools\/centos72<\/div>\n<div>mount -o loop \/dev\/sr0 \/tools\/centos72<\/div>\n<div>[centosrepo]<\/div>\n<div>name=CentOS7 Repository<\/div>\n<div>baseurl=file:\/\/\/tools\/centos72\/<\/div>\n<div>enabled=1<\/div>\n<div>gpgcheck=0<\/div>\n<div>1.7 \u751f\u6210YUM\u7f13\u5b58:<\/div>\n<div>yum clean all<\/div>\n<div>yum makecache<\/div>\n<div><\/div>\n<div>2.\u5206\u522b\u5b89\u88c5\u5e76\u542f\u52a8Docker:<\/div>\n<div>2.1 \u5fc5\u8981\u6761\u4ef6:Docker\u5fc5\u987b\u5b89\u88c5\u572864\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a,\u800c\u4e14\u5185\u6838\u7248\u672c\u5fc5\u987b\u5927\u4e8e3.10;(CentOS7\u7684\u5185\u6838\u7248\u672c\u6700\u5c0f\u662f3.10,\u4f7f\u7528uname -r\u547d\u4ee4\u67e5\u770b)<\/div>\n<div>2.2 \u4f7f\u7528yum\u5b89\u88c5:<\/div>\n<div>yum update -y<\/div>\n<div>yum install -y docker-engine<\/div>\n<div>2.3 \u5982\u679c\u76f4\u63a5\u4f7f\u7528rpm\u5b89\u88c5\u7684\u8bdd,\u9700\u8981\u5148\u89e3\u51b3\u5305\u4f9d\u8d56;<\/div>\n<div>yum install -y libcgroup libtool-ltdl policycoreutils-python<\/div>\n<div>rpm -ivh docker-engine-selinux-1.11.2-1.el7.centos.noarch.rpm<\/div>\n<div>rpm -ivh docker-engine-1.11.2-1.el7.centos.x86_64.rpm<\/div>\n<div>2.4 \u542f\u52a8docker;<\/div>\n<div>service docker start \u6216\u8005 systemctl start docker.service<\/div>\n<div>2.5 \u914d\u7f6e\u5f00\u673a\u542f\u52a8;<\/div>\n<div>chkconfig docker on \u6216\u8005 systemctl enable docker.service<\/div>\n<div><\/div>\n<div>3.\u90e8\u7f72\u79c1\u6709Registry\u670d\u52a1\u5668:<\/div>\n<div>3.1 \u52a0\u8f7dregistry\u5bb9\u5668(\u6240\u4ee5\u9700\u8981\u7684\u5bb9\u5668\u90fd\u9700\u8981\u5728\u5176\u5b83\u73af\u5883\u4e0b\u8f7d,\u7136\u540e\u52a0\u8f7d):<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/registry2.5.tar<\/div>\n<div>[root@rancher ~]# docker images<\/div>\n<div>REPOSITORY\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 TAG\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0IMAGE ID\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CREATED\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0SIZE<\/div>\n<div>registry\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 c6c14b3960bd\u00a0 \u00a0 \u00a0 \u00a0 5 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 33.28 MB<\/div>\n<div>3.2 \u542f\u52a8\u4e00\u4e2aRegistry,\u5e76\u628a\u6570\u636e\u6620\u5c04\u5230\u672c\u5730\u5377:<\/div>\n<div>[root@rancher ~]# mkdir -p \/var\/lib\/registry<\/div>\n<div>[root@rancher ~]# docker run -d -p 5000:5000 &#8211;restart=always &#8211;name registry -v \/var\/lib\/registry:\/var\/lib\/registry registry:latest<\/div>\n<div>3.3 \u52a0\u8f7d\u5176\u5b83\u955c\u50cf:<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/rancherserver_v1.1.2.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/rancheragent_v1.0.2.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/rancheragent-instance_v0.8.3.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/mysql5.7.13.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/wordpress.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/oraclelinux6.8.tar<\/div>\n<div>[root@rancher ~]# docker load &lt; \/tools\/images\/hello-world.tar<\/div>\n<div>[root@rancher ~]# docker images<\/div>\n<div>REPOSITORY\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0TAG\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0IMAGE ID\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CREATED\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0SIZE<\/div>\n<div>wordpress\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 106a375e769a\u00a0 \u00a0 \u00a0 \u00a0 46 hours ago\u00a0 \u00a0 \u00a0 \u00a0 420.5 MB<\/div>\n<div>registry\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 c6c14b3960bd\u00a0 \u00a0 \u00a0 \u00a0 5 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 33.28 MB<\/div>\n<div>rancher\/server\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ffe9c46b500a\u00a0 \u00a0 \u00a0 \u00a0 11 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0842 MB<\/div>\n<div>oraclelinux\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 6.8\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0175adfa05e40\u00a0 \u00a0 \u00a0 \u00a0 13 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0223.1 MB<\/div>\n<div>hello-world\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 c54a2cc56cbb\u00a0 \u00a0 \u00a0 \u00a0 4 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a01.848 kB<\/div>\n<div>rancher\/agent-instance\u00a0 \u00a0v0.8.3\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 b6b013f2aa85\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0330.9 MB<\/div>\n<div>rancher\/agent\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 v1.0.2\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 860ed2b2e8e3\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0454.3 MB<\/div>\n<div>mysql\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1195b21c3a45\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0380.2 MB<\/div>\n<div>3.4 \u5bf9\u955c\u50cf\u6253\u6807\u7b7e,\u6307\u5411\u79c1\u6709Registry:<\/div>\n<div>[root@rancher ~]# docker tag registry:latest registry.htsec.com:5000\/registry:2.5<\/div>\n<div>[root@rancher ~]# docker tag rancher\/server:latest registry.htsec.com:5000\/rancher\/server:v1.1.2<\/div>\n<div>[root@rancher ~]# docker tag rancher\/agent:v1.0.2 registry.htsec.com:5000\/rancher\/agent:v1.0.2<\/div>\n<div>[root@rancher ~]# docker tag rancher\/agent-instance:v0.8.3 registry.htsec.com:5000\/rancher\/agent-instance:v0.8.3<\/div>\n<div>[root@rancher ~]# docker tag mysql:latest registry.htsec.com:5000\/mysql:5.7.13<\/div>\n<div>[root@rancher ~]# docker tag wordpress:latest registry.htsec.com:5000\/wordpress:4.5.3<\/div>\n<div>[root@rancher ~]# docker tag oraclelinux:6.8 registry.htsec.com:5000\/oraclelinux:6.8<\/div>\n<div>[root@rancher ~]# docker tag hello-world:latest registry.htsec.com:5000\/hello-world:latest<\/div>\n<div>3.5 \u628a\u955c\u50cf\u63a8\u5230\u79c1\u6709Registry\u4e2d:<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/registry:2.5<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/rancher\/server:v1.1.2<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/rancher\/agent:v1.0.2<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/rancher\/agent-instance:v0.8.3<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/mysql:5.7.13<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/wordpress:4.5.3<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/oraclelinux:6.8<\/div>\n<div>[root@rancher ~]# docker push registry.htsec.com:5000\/hello-world:latest<\/div>\n<div>3.6 \u4ece\u79c1\u6709Registry\u4e2d\u62c9\u53d6\u955c\u50cf:<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/registry:2.5<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/rancher\/server:v1.1.2<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/rancher\/agent:v1.0.2<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/rancher\/agent-instance:v0.8.3<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/mysql:5.7.13<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/wordpress:4.5.3<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/oraclelinux:6.8<\/div>\n<div>[root@rancher ~]# docker pull registry.htsec.com:5000\/hello-world:latest<\/div>\n<div>3.7 \u5c06\u672c\u5730\u7684\u955c\u50cf\u5220\u6389(untag):<\/div>\n<div>[root@rancher ~]# docker rmi registry:latest<\/div>\n<div>[root@rancher ~]# docker rmi rancher\/server:latest<\/div>\n<div>[root@rancher ~]# docker rmi rancher\/agent:v1.0.2<\/div>\n<div>[root@rancher ~]# docker rmi rancher\/agent-instance:v0.8.3<\/div>\n<div>[root@rancher ~]# docker rmi mysql:latest<\/div>\n<div>[root@rancher ~]# docker rmi wordpress:latest<\/div>\n<div>[root@rancher ~]# docker rmi oraclelinux:6.8<\/div>\n<div>[root@rancher ~]# docker rmi hello-world:latest<\/div>\n<div>[root@rancher ~]# docker images<\/div>\n<div>REPOSITORY\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0TAG\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0IMAGE ID\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CREATED\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0SIZE<\/div>\n<div>registry.htsec.com:5000\/wordpress\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4.5.3\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0106a375e769a\u00a0 \u00a0 \u00a0 \u00a0 47 hours ago\u00a0 \u00a0 \u00a0 \u00a0 420.5 MB<\/div>\n<div>registry.htsec.com:5000\/registry\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02.5\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0c6c14b3960bd\u00a0 \u00a0 \u00a0 \u00a0 5 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 33.28 MB<\/div>\n<div>registry.htsec.com:5000\/rancher\/server\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0v1.1.2\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ffe9c46b500a\u00a0 \u00a0 \u00a0 \u00a0 11 days ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0842 MB<\/div>\n<div>registry.htsec.com:5000\/oraclelinux\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 6.8\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0175adfa05e40\u00a0 \u00a0 \u00a0 \u00a0 2 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0223.1 MB<\/div>\n<div>registry.htsec.com:5000\/hello-world\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 latest\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 c54a2cc56cbb\u00a0 \u00a0 \u00a0 \u00a0 4 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a01.848 kB<\/div>\n<div>registry.htsec.com:5000\/rancher\/agent-instance\u00a0 \u00a0v0.8.3\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 b6b013f2aa85\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0330.9 MB<\/div>\n<div>registry.htsec.com:5000\/rancher\/agent\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 v1.0.2\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 860ed2b2e8e3\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0454.3 MB<\/div>\n<div>registry.htsec.com:5000\/mysql\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5.7.13\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1195b21c3a45\u00a0 \u00a0 \u00a0 \u00a0 7 weeks ago\u00a0 \u00a0 \u00a0 \u00a0 \u00a0380.2 MB<\/div>\n<div>3.8 \u5728\u79c1\u6709Registry\u4e2d\u68c0\u7d22\u955c\u50cf,\u4e0d\u80fd\u4f7f\u7528docker search\u547d\u4ee4,\u9700\u8981\u901a\u8fc7\u4f7f\u7528v2\u7248\u672c\u7684API:<\/div>\n<div>[root@rancher ~]# docker search registry.htsec.com:5000\/rancher\/server<\/div>\n<div>Error response from daemon: Unexpected status code 404<\/div>\n<div>[root@rancher ~]# curl http:\/\/registry.htsec.com:5000\/v2\/_catalog<\/div>\n<div>{&#8220;repositories&#8221;:[&#8220;hello-world&#8221;,&#8221;mysql&#8221;,&#8221;oraclelinux&#8221;,&#8221;rancher\/agent&#8221;,&#8221;rancher\/agent-instance&#8221;,&#8221;rancher\/server&#8221;,&#8221;registry&#8221;,&#8221;wordpress&#8221;]}<\/div>\n<div>[root@rancher ~]# curl http:\/\/registry.htsec.com:5000\/v2\/rancher\/server\/tags\/list<\/div>\n<div>{&#8220;name&#8221;:&#8221;rancher\/server&#8221;,&#8221;tags&#8221;:[&#8220;v1.1.2&#8221;]}<\/div>\n<div><\/div>\n<div>4.\u5b89\u88c5\u5e76\u914d\u7f6eRancher:<\/div>\n<div>4.1 \u542f\u52a8\u5e76\u914d\u7f6eMySQL\u5bb9\u5668:<\/div>\n<div># \u542f\u52a8MySQL\u5bb9\u5668;<\/div>\n<div>[root@rancher ~]# mkdir -p \/var\/lib\/mysql<\/div>\n<div>[root@rancher ~]# docker run -d &#8211;restart=always &#8211;name mysql -v \/var\/lib\/mysql:\/var\/lib\/mysql -e MYSQL_ROOT_PASSWORD=pwd registry.htsec.com:5000\/mysql:5.7.13<\/div>\n<div># \u914d\u7f6eMySQL\u5bb9\u5668;<\/div>\n<div>[root@rancher ~]# docker exec -it mysql \/bin\/bash<\/div>\n<div>root@c94ee0fabd33:\/# mysql -uroot -p<\/div>\n<div>mysql&gt; CREATE DATABASE IF NOT EXISTS cattle COLLATE = &#8216;utf8_general_ci&#8217; CHARACTER SET = &#8216;utf8&#8217;;<\/div>\n<div>mysql&gt; GRANT ALL ON cattle.* TO &#8216;cattle&#8217;@&#8217;%&#8217; IDENTIFIED BY &#8216;cattle&#8217;;<\/div>\n<div>mysql&gt; GRANT ALL ON cattle.* TO &#8216;cattle&#8217;@&#8217;localhost&#8217; IDENTIFIED BY &#8216;cattle&#8217;;<\/div>\n<div>mysql&gt; flush privileges;<\/div>\n<div>mysql&gt; exit<\/div>\n<div>root@c94ee0fabd33:\/# exit<\/div>\n<div>4.2 \u542f\u52a8rancher\/server\u5bb9\u5668(Rancher\u7684\u4e09\u4e2a\u7ec4\u4ef6[rancher\/server,rancher\/agent,rancher\/agent-instance]\u7684\u7248\u672c\u662f\u6709\u5173\u8054\u7684):<\/div>\n<div>[root@rancher ~]# docker run -d &#8211;restart=always -p 8080:8080 &#8211;name rancher-server &#8211;link mysql:mysql \\<\/div>\n<div>\u00a0 \u00a0 -e CATTLE_BOOTSTRAP_REQUIRED_IMAGE=registry.htsec.com:5000\/rancher\/agent:v1.0.2 \\<\/div>\n<div>\u00a0 \u00a0 -e CATTLE_AGENT_INSTANCE_IMAGE=registry.htsec.com:5000\/rancher\/agent-instance:v0.8.3 \\<\/div>\n<div>\u00a0 \u00a0 registry.htsec.com:5000\/rancher\/server:v1.1.2<\/div>\n<div># \u6253\u5f00\u6d4f\u89c8\u5668\u6d4b\u8bd5;<\/div>\n<div>http:\/\/192.168.10.160:8080<\/div>\n<div>4.3 \u6dfb\u52a0hosts:<\/div>\n<div># \u5728\u7ba1\u7406\u670d\u52a1\u5668\u4e0a\u8fd0\u884c;<\/div>\n<div>[root@rancher ~]# sudo docker run -e CATTLE_AGENT_IP=&#8221;192.168.10.160&#8243;\u00a0 -e CATTLE_HOST_LABELS=&#8217;role=administrator&amp;id=010505&#8242;\u00a0 -d &#8211;privileged -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v \/var\/lib\/rancher:\/var\/lib\/rancher registry.htsec.com:5000\/rancher\/agent:v1.0.2 http:\/\/192.168.10.160:8080\/v1\/scripts\/2D061F6830FEC5A215F3:1470247200000:kz7K8gpchOMXD8poxh3kglKEBsc<\/div>\n<div># \u5728\u5bb9\u5668\u670d\u52a1\u5668\u4e0a\u8fd0\u884c;<\/div>\n<div>[root@container1 ~]# sudo docker run -e CATTLE_AGENT_IP=&#8221;192.168.10.161&#8243;\u00a0 -e CATTLE_HOST_LABELS=&#8217;role=owner&#8217;\u00a0 -d &#8211;privileged -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v \/var\/lib\/rancher:\/var\/lib\/rancher registry.htsec.com:5000\/rancher\/agent:v1.0.2 http:\/\/192.168.10.160:8080\/v1\/scripts\/2D061F6830FEC5A215F3:1470247200000:kz7K8gpchOMXD8poxh3kglKEBsc<\/div>\n<div>[root@container2 ~]# sudo docker run -e CATTLE_AGENT_IP=&#8221;192.168.10.162&#8243;\u00a0 -e CATTLE_HOST_LABELS=&#8217;role=owner&#8217;\u00a0 -d &#8211;privileged -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v \/var\/lib\/rancher:\/var\/lib\/rancher registry.htsec.com:5000\/rancher\/agent:v1.0.2 http:\/\/192.168.10.160:8080\/v1\/scripts\/2D061F6830FEC5A215F3:1470247200000:kz7K8gpchOMXD8poxh3kglKEBsc<\/div>\n<div>4.4 \u67e5\u770b\u62d3\u6251\u56fe:<\/div>\n<div><img decoding=\"async\" src=\"cid:52f70fad25f66d962c62ec71a459d711\" data-en-img-selected=\"true\" \/><\/div>\n<div><\/div>\n<div>5.\u521b\u5efa\u4e00\u4e2a\u591a\u5bb9\u5668\u7684\u5e94\u7528:<\/div>\n<div>5.1 \u521b\u5efa\u4e00\u4e2aStacks:\u540d\u53ebWordPress;<\/div>\n<div>5.2 \u6dfb\u52a0\u4e00\u4e2aService(wp-mysql),\u7531\u4e00\u4e2a[registry.htsec.com:5000\/mysql:5.7.13]\u955c\u50cf\u521b\u5efa\u7684\u5bb9\u5668\u7ec4\u6210,\u9700\u8981\u505a\u7aef\u53e3\u8f6c\u6362(\u56e0\u4e3a\u5ba2\u6237\u7aef\u53ef\u80fd\u5728\u5176\u5b83\u7684\u4e3b\u673a\u4e0a),\u5e76\u6307\u5b9aMYSQL_ROOT_PASSWORD\u73af\u5883\u53d8\u91cf;<\/div>\n<div>5.2 \u6dfb\u52a0\u4e00\u4e2aService(wp-app),\u7531\u4e24\u4e2a[registry.htsec.com:5000\/wordpress:4.5.3]\u955c\u50cf\u521b\u5efa\u7684\u5bb9\u5668\u7ec4\u6210,\u94fe\u63a5\u5230wp-mysql\u670d\u52a1,\u5e76\u6307\u5b9a\u670d\u52a1\u522b\u540d;<\/div>\n<div>5.3 \u6dfb\u52a0\u4e00\u4e2aService(wp-lb),\u7531\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668\u5bb9\u5668\u7ec4\u6210,\u6620\u5c0480\u7aef\u53e3\u52308000\u7aef\u53e3,\u5e76\u94fe\u63a5\u5230wp-app\u670d\u52a1\u4e0a;<\/div>\n<div><img decoding=\"async\" src=\"cid:5b4839b6d83c8365c5173fc810ecd06c\" data-en-img-selected=\"true\" \/><\/div>\n<div><img decoding=\"async\" src=\"cid:f63a174db1b12391610872343c84887d\" data-en-img-selected=\"true\" \/><\/div>\n<div>5.4 \u8bbf\u95ee\u8d1f\u8f7d\u5747\u8861\u5668\u76848000\u7aef\u53e3:http:\/\/192.168.10.162:8000\/;<\/div>\n<div><img decoding=\"async\" src=\"cid:85213ef49e1067a87e20e22af2d70ca2\" data-en-img-selected=\"true\" \/><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div>\u95ee\u9898:[root@rancher ~]# docker push registry.htsec.com:5000\/registry:2.5<\/div>\n<div>The push refers to a repository [registry.htsec.com:5000\/registry]<\/div>\n<div>Get https:\/\/registry.htsec.com:5000\/v1\/_ping: tls: oversized record received with length 20527<\/div>\n<div>\u89e3\u51b3\u529e\u6cd5:<\/div>\n<div>1.\u6dfb\u52a0\u6587\u4ef6:<\/div>\n<div>[root@rancher ~]# vi \/etc\/sysconfig\/docker<\/div>\n<div>DOCKER_OPTS=&#8221;&#8211;insecure-registry registry.htsec.com:5000&#8243;<\/div>\n<div>2.\u4fee\u6539\u6587\u4ef6:<\/div>\n<div>[root@rancher ~]# vi \/lib\/systemd\/system\/docker.service<\/div>\n<div>[Unit]<\/div>\n<div>Description=Docker Application Container Engine<\/div>\n<div>Documentation=https:\/\/docs.docker.com<\/div>\n<div>After=network.target docker.socket<\/div>\n<div>Requires=docker.socket<\/div>\n<div><\/div>\n<div>[Service]<\/div>\n<div>Type=notify<\/div>\n<div># the default is not to use systemd for cgroups because the delegate issues still<\/div>\n<div># exists and systemd currently does not support the cgroup feature set required<\/div>\n<div># for containers run by docker<\/div>\n<div>EnvironmentFile=-\/etc\/sysconfig\/docker<\/div>\n<div>ExecStart=\/usr\/bin\/docker daemon $DOCKER_OPTS -H fd:\/\/<\/div>\n<div>MountFlags=slave<\/div>\n<div>LimitNOFILE=1048576<\/div>\n<div>LimitNPROC=1048576<\/div>\n<div>LimitCORE=infinity<\/div>\n<div>TimeoutStartSec=0<\/div>\n<div># set delegate yes so that systemd does not reset the cgroups of docker containers<\/div>\n<div>Delegate=yes<\/div>\n<div><\/div>\n<div>[Install]<\/div>\n<div>WantedBy=multi-user.target<\/div>\n<div>3.\u91cd\u542fDocker:<\/div>\n<div>[root@rancher ~]# systemctl daemon-reload<\/div>\n<div>[root@rancher ~]# systemctl stop docker.service<\/div>\n<div>[root@rancher ~]# systemctl start docker.service<\/div>\n<div><\/div>\n<div><\/div>\n<div>\u95ee\u9898:WARNING: IPv4 forwarding is disabled. Networking will not work.<\/div>\n<div>\u89e3\u51b3\u529e\u6cd5:<\/div>\n<div>1.\u5728\/usr\/lib\/sysctl.d\/00-system.conf\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee3\u7801;<\/div>\n<div>net.ipv4.ip_forward=1<\/div>\n<div>2.\u91cd\u542fnetwork\u670d\u52a1;<\/div>\n<div>systemctl restart network<\/div>\n<div>3.\u67e5\u770b\u662f\u5426\u4fee\u6539\u6210\u529f;<\/div>\n<div>sysctl net.ipv4.ip_forward<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e3b\u8981\u5185\u5bb9: 1.\u73af\u5883\u51c6\u5907; 2.\u5b89\u88c5\u5e76\u542f\u52a8Docker; 3.\u90e8\u7f72\u79c1\u6709Registry\u670d\u52a1\u5668; 4.\u5b89\u88c5\u5e76\u914d\u7f6e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[43],"class_list":["post-1265","post","type-post","status-publish","format-standard","hentry","category-cloud","tag-docker"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1265"}],"version-history":[{"count":1,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1265\/revisions"}],"predecessor-version":[{"id":1266,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/1265\/revisions\/1266"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1265"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}