{"id":451,"date":"2020-08-25T16:47:46","date_gmt":"2020-08-25T08:47:46","guid":{"rendered":"http:\/\/www.leohe.net.cn\/?p=451"},"modified":"2025-08-26T08:24:57","modified_gmt":"2025-08-26T00:24:57","slug":"docker%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/china-abc.leohe.net.cn\/?p=451","title":{"rendered":"docker\u5b89\u88c5\u548c\u4f7f\u7528"},"content":{"rendered":"<p><strong>docker\u5b89\u88c5\uff1a<\/strong><br \/>\n\u5b98\u65b9\u6587\u6863\uff1a<br \/>\nhttps:\/\/docs.docker.com\/engine\/install\/ubuntu\/<\/p>\n<p>\u64cd\u4f5c\u6b65\u9aa4\uff1a<br \/>\n$ sudo apt-get update<\/p>\n<p>$ sudo apt-get install \\<br \/>\napt-transport-https \\<br \/>\nca-certificates \\<br \/>\ncurl \\<br \/>\ngnupg-agent \\<br \/>\nsoftware-properties-common<\/p>\n<p>curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -<\/p>\n<p>$ sudo apt-key fingerprint 0EBFCD88<\/p>\n<p>$ sudo add-apt-repository \\<br \/>\n\"deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu \\<br \/>\n$(lsb_release -cs) \\<br \/>\nstable\"<br \/>\n$ sudo apt-get update<br \/>\n$ sudo apt-get install docker-ce docker-ce-cli containerd.io<\/p>\n<p>docker --version<br \/>\n\u663e\u793adocker\u7248\u672c\u4fe1\u606f\u5219\u5b89\u88c5\u6210\u529f<\/p>\n<p><strong>\u4f7f\u7528\uff1a<\/strong><\/p>\n<p>\u663e\u793a\u955c\u50cf\u5217\u8868\uff1a docker images<\/p>\n<p>\u6784\u5efa\u955c\u50cf\uff1adocker build -t nginx:self .<\/p>\n<p>\u5220\u9664\u955c\u50cf\uff1adocker rmi nginx:self (REPOSITORY:TAG)<\/p>\n<p>\u8fd0\u884c\u5bb9\u5668\uff1adocker start nginx<\/p>\n<p>\u505c\u6b62\u5bb9\u5668\uff1adocker stop nginx<\/p>\n<p>\u91cd\u542f\u5bb9\u5668\uff1adocker restart mynginx<\/p>\n<p>\u5220\u9664\u5bb9\u5668\uff1adocker rm nginx<\/p>\n<p>\u8fdb\u5165\u5bb9\u5668\uff1adocker exec -it mynginx bash<\/p>\n<p>\u5bb9\u5668\u8be6\u60c5\uff1adocker inspect nginx<\/p>\n<p>\u67e5\u770b\u5bb9\u5668IP\uff1adocker exec redis hostname -I<\/p>\n<p>\u505c\u6b62\u6240\u6709\u5bb9\u5668\uff1adocker stop $(sudo docker ps -aq)<\/p>\n<p>\u505c\u6b62\u540d\u79f0\u4ee5mywork_\u5f00\u5934\u7684\u7684\u5bb9\u5668\uff1asudo docker rm $(sudo docker ps -qa --filter \"name=mywork_\")<\/p>\n<p>\u5220\u9664\u5bb9\u5668\u5217\u8868\u4e2d\u5305\u542bgolang\u7684\u5bb9\u5668\uff1adocker rm $(docker ps -a | grep golang | awk '{print $1}')<\/p>\n<p>\u5220\u9664\u6240\u6709\u5bb9\u5668\uff1adocker rm $(sudo docker ps -aq)<\/p>\n<p><strong>Nginx\u5bb9\u5668\uff1a<\/strong><\/p>\n<p>\u8fd0\u884c\uff1a<\/p>\n<p>docker run -p 80:80 --name mynginx -v \/usr\/local\/workspace\/nginx\/vhosts:\/etc\/nginx\/conf.d -v \/usr\/local\/workspace\/nginx\/nginx.conf:\/etc\/nginx\/nginx.conf -v \/usr\/local\/workspace\/nginx\/www:\/usr\/share\/nginx\/html -d nginx<\/p>\n<p>\u5bb9\u5668\u7684nginx.conf\u914d\u7f6e\u6587\u4ef6\u5728 \u5bb9\u5668\u7684\/etc\/nginx\/ \u4e0b<\/p>\n<p><strong>PHP-FPM\u5bb9\u5668\uff1a<\/strong><\/p>\n<p>\u5bb9\u5668\u7684php.ini\u914d\u7f6e\u6587\u4ef6\u5728 \u5bb9\u5668\u7684\/usr\/local\/etc\/php \u4e0b<\/p>\n<p><strong>MYSQL\u5bb9\u5668\uff1a<\/strong><\/p>\n<p>\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\u5728 \/etc\/mysql\/my.cnf\uff0c\u5176\u5f15\u7528\u7684\u771f\u5b9e\u6587\u4ef6\u8def\u5f84\u4e3a\/etc\/alternatives\/my.cnf<\/p>\n<p><strong>Redis\u5bb9\u5668\uff1a<\/strong><\/p>\n<p>\u9ed8\u8ba4\u5bb9\u5668\u91cc\u6ca1\u6709\u914d\u7f6e\u6587\u4ef6\uff0c\u9700\u8981\u7528\u6237\u81ea\u5df1\u6620\u5c04\uff0c\u53ef\u4ee5\u5728Dockerfile \u91cc\u5148\u5c06\u672c\u5730\u6587\u4ef6copy\u8fdb\u53bb\uff0c\u518d\u8fdb\u884c\u6587\u4ef6\u6620\u5c04\uff0c\u53ef\u5230\u8fbe\u4e3b\u673a\u548c\u5bb9\u5668\u914d\u7f6e\u6587\u4ef6\u7684\u540c\u6b65\uff0c<\/p>\n<p>\u6570\u636e\u76ee\u5f55 \u9ed8\u8ba4\u662f\u5728\/data\u4e0b<\/p>\n<p><span style=\"color: #0000ff;\"><strong>\u8fde\u63a5redis\u65f6\u5982\u679c\u63d0\u793a Connection refused \uff0c\u8bf7\u786e\u8ba4redis.conf\u91cc\u7684bind\u9879\u662f\u4e0d\u662f\u8bbe\u7f6e\u4e86\u6b63\u786e\u7684\u8bbf\u95ee\u8303\u56f4<\/strong><\/span><\/p>\n<p>\u6240\u6709\u914d\u7f6e\u5747\u5df2\u7ecf\u914d\u7f6e\u597ddocker-compose\u6587\u4ef6\uff0c\u94fe\u63a5\u4e3a <a href=\"https:\/\/github.com\/leohe666\/docker\">https:\/\/github.com\/leohe666\/docker<\/a><\/p>\n<p>\u4e0b\u8f7d\u540e\u76f4\u63a5\u8fd0\u884c\u4fee\u6539.env\u914d\u7f6e\u6587\u4ef6\u91cc\u7684\u5177\u4f53\u9879\uff0c\u7136\u540edocker-compose up \u540e\u53f0\u8fd0\u884c\u5373\u53ef\u5b89\u88c5\uff0c\u5982\u679c\u9700\u8981\u540e\u53f0\u8fd0\u884c\u5219\u8fd0\u884cdocker-compose up -d<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>docker run -p 9000:9000 -d --name myphp-fpm -d php<\/p>\n<p>docker run --name test-php -p 9000:9000 -v \/var\/www\/html\/:\/wwwroot -d php<\/p>\n<p>docker run --name runoob-php-nginx -p 8083:80 -d \\<br \/>\n-v \/var\/nginx\/www:\/usr\/share\/nginx\/html:ro \\<br \/>\n-v \/var\/nginx\/conf\/conf.d:\/etc\/nginx\/conf.d:ro \\<br \/>\n--link myphp-fpm:php \\<br \/>\nnginx<\/p>\n<p>sudo docker exec -it ef716181053e \/bin\/bash<\/p>\n<p>docker run --name php-fpm -v \/var\/www\/html:\/usr\/share\/nginx\/html -d php<\/p>\n<p>docker run --name myphp-fpm -v \/var\/www\/html:\/usr\/share\/nginx\/html -d php:last<\/p>\n<p>docker run -it --rm php bash<\/p>\n<p>usr\/share\/nginx\/html<\/p>\n<p>docker run -p 3306:3306 --name mysql \\<br \/>\n-v \/home\/docker\/mysql\/conf:\/etc\/mysql \\<br \/>\n-v \/home\/docker\/mysql\/logs:\/var\/log\/mysql \\<br \/>\n-v \/home\/docker\/mysql\/data:\/var\/lib\/mysql \\<br \/>\n-e MYSQL_ROOT_PASSWORD=123456 \\<br \/>\n-d mysql:5.7 \\<br \/>\n--character-set-server=utf8mb4 \\<br \/>\n--skip-name-resolve<\/p>\n<p>php-fpm \u5b89\u88c5pdo\u6269\u5c55<\/p>\n<p>\u5728 php-fpm \u5bb9\u5668\u91cc\u9762\u7684 \/usr\/local\/bin \u6267\u884c<br \/>\n````<br \/>\ndocker-php-ext-install pdo pdo_mysql<br \/>\n````<\/p>\n<p>\u56fa\u5b9aip\uff1a<br \/>\ndocker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest \/bin\/bash<br \/>\n--ip 172.18.0.2<br \/>\n\u56fa\u5b9aDNS:<br \/>\n--dns=114.114.114.114<\/p>\n<p>--net \u56fa\u5b9a\u7f51\u7edc\u4f7f\u7528 mynetwork\uff0c \u591a\u4e2a\u4f7f\u7528\u76f8\u540cnet\u7684\u7a97\u53e3\u53ef\u4ee5\u76f8\u4e92\u901a\u8baf(\u53ef\u4ee5\u4f7f\u7528 docker network create -d bridget mynetwork \u521b\u5efa\u7f51\u7edc\u540e\u4f7f\u7528,\u9700\u8981\u5efa\u7acb\u65b0\u7684\u7f51\u7edc\u624d\u53ef\u4ee5\uff0c\u81ea\u5e26\u7684bridge\u65e0\u6cd5ping\u901a)<\/p>\n<p>-h HOSTNAME \u6216\u8005 --hostname=HOSTNAME\uff1a \u8bbe\u5b9a\u5bb9\u5668\u7684\u4e3b\u673a\u540d\uff0c\u5b83\u4f1a\u88ab\u5199\u5230\u5bb9\u5668\u5185\u7684 \/etc\/hostname \u548c \/etc\/hosts\u3002<br \/>\n--dns=IP_ADDRESS\uff1a \u6dfb\u52a0 DNS \u670d\u52a1\u5668\u5230\u5bb9\u5668\u7684 \/etc\/resolv.conf \u4e2d\uff0c\u8ba9\u5bb9\u5668\u7528\u8fd9\u4e2a\u670d\u52a1\u5668\u6765\u89e3\u6790\u6240\u6709\u4e0d\u5728 \/etc\/hosts \u4e2d\u7684\u4e3b\u673a\u540d\u3002<br \/>\n--dns-search=DOMAIN\uff1a \u8bbe\u5b9a\u5bb9\u5668\u7684\u641c\u7d22\u57df\uff0c\u5f53\u8bbe\u5b9a\u641c\u7d22\u57df\u4e3a .example.com \u65f6\uff0c\u5728\u641c\u7d22\u4e00\u4e2a\u540d\u4e3a host \u7684\u4e3b\u673a\u65f6\uff0cDNS \u4e0d\u4ec5\u641c\u7d22 host\uff0c\u8fd8\u4f1a\u641c\u7d22 host.example.com\u3002<br \/>\ndocker run -it --rm mynginx cat etc\/resolv.conf<\/p>\n<p>docker-compose \u5b89\u88c5<\/p>\n<p>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.26.0\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/p>\n<p>\u5982\u679c\u8981\u7528\u4ee3\u7406\uff1a<br \/>\nsudo curl -x http:\/\/192.168.0.101:10809 -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.26.0\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/p>\n<p>sudo chmod +x \/usr\/local\/bin\/docker-compose<br \/>\nsudo ln -s \/usr\/local\/bin\/docker-compose \/usr\/bin\/docker-compose<br \/>\ndocker-compose --version<br \/>\n\u51fa\u73b0\u7248\u672c\u53f7\u5219\u5b89\u88c5\u6b63\u5e38<\/p>\n<p>docker run -p 6699:6379 --name myredis -v \/home\/docker\/redis\/redis.conf\/redis.conf:\/etc\/redis\/redis.conf -v \/home\/docker\/redis\/data:\/data -d redis redis-server \/etc\/redis\/redis.conf --appendonly yes<\/p>\n<p>curl -L -o \/tmp\/redis.tar.gz https:\/\/github.com\/phpredis\/phpredis\/archive\/5.2.2.tar.gz<\/p>\n<p>tar xfz \/tmp\/redis.tar.gz<br \/>\nrm -r \/tmp\/redis.tar.gz<br \/>\nmkdir -p \/usr\/src\/php\/ext<br \/>\nmv phpredis-5.2.2 \/usr\/src\/php\/ext\/redis<br \/>\ncd \/usr\/local\/bin<br \/>\ndocker-php-ext-install redis<\/p>\n<p>&nbsp;<\/p>\n<p>PHP gd\u5e93\u7684freetype\u5b89\u88c5<\/p>\n<div>\n<div>apt-get install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev<\/div>\n<div><\/div>\n<div>docker-php-ext-configure gd --with-webp-dir=\/usr\/include\/webp --with-jpeg-dir=\/usr\/include --with-png-dir=\/usr\/include --with-freetype-dir=\/usr\/include\/freetype2<\/div>\n<div><\/div>\n<div>docker-php-ext-install gd<\/div>\n<div><\/div>\n<\/div>\n<div>\n<div>\n<div>Curl\u6269\u5c55\u5b89\u88c5(\u5982\u9700\u8981)<\/div>\n<div>apt-get install libcurl4-openssl-dev<\/div>\n<div>docker-php-ext-install curl<\/div>\n<\/div>\n<\/div>\n<p>\u8fdb\u5165\u5bb9\u5668\u540e\u65e0\u6cd5\u4f7f\u7528telnet ipconfig\u5f85\u5de5\u4f5c\u53ef\u4ee5\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5b89\u88c5\uff1a<\/p>\n<p>apt-get install net-tools<br \/>\napt-get install iputils-ping<br \/>\napt-get install telnet<\/p>\n<p>&nbsp;<\/p>\n<div>\n<div>\u666e\u901a\u7528\u6237\u4f7f\u7528docker docker-compose<\/div>\n<div>#\u521b\u5efadocker\u7ec4<\/div>\n<div>vagrant@ubuntu18:~$ sudo groupadd docker<\/div>\n<div>groupadd: group \u2018docker\u2018 already exists<\/div>\n<div>#\u5c06\u5f53\u524d\u7528\u6237\u52a0\u5165docker\u7ec4<\/div>\n<div>vagrant@ubuntu18:~$ sudo gpasswd -a ${USER} docker<\/div>\n<div>Adding user weiyj to group docker<\/div>\n<div>#\u91cd\u542fdocker\u670d\u52a1<\/div>\n<div>vagrant@ubuntu18:~$ sudo service docker restart<\/div>\n<div>#\u5237\u65b0docker\u7ec4\u6210\u5458<\/div>\n<div>vagrant@ubuntu18:~$ newgrp docker<\/div>\n<div>#\u518d\u8bd5\u8bd5\u547d\u4ee4^_^<\/div>\n<div>vagrant@ubuntu18:~$ docker images<\/div>\n<div>REPOSITORY TAG IMAGE ID CREATED SIZE<\/div>\n<div>ubuntu \u52a0\u901f\u8bbe\u7f6e<\/div>\n<div>sudo mkdir -p \/etc\/docker<\/div>\n<div>sudo tee \/etc\/docker\/daemon.json &lt;&lt;-'EOF'<\/div>\n<div>{<\/div>\n<div>\"registry-mirrors\": [\"https:\/\/docker.m.daocloud.io\/\",\"https:\/\/rzzb04yl.mirror.aliyuncs.com\"]<\/div>\n<div>}<\/div>\n<div>EOF<\/div>\n<div>sudo systemctl daemon-reload<\/div>\n<div>sudo systemctl restart docker<\/div>\n<\/div>\n<div><\/div>\n<div><span style=\"color: #0000ff;\">\u975eroot\u7528\u6237\u51fa\u73b0 \/var\/run\/docker.sock: connect: permission denied<\/span><br \/>\n<span style=\"color: #0000ff;\">chmod 666 \/var\/run\/docker.sock<\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>docker\u5b89\u88c5\uff1a \u5b98\u65b9\u6587\u6863\uff1a https:\/\/docs.docker.com\/engine\/install\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[],"_links":{"self":[{"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/posts\/451"}],"collection":[{"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=451"}],"version-history":[{"count":36,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/posts\/451\/revisions"}],"predecessor-version":[{"id":763,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=\/wp\/v2\/posts\/451\/revisions\/763"}],"wp:attachment":[{"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/china-abc.leohe.net.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}