{"id":7932,"date":"2020-03-23T16:18:31","date_gmt":"2020-03-23T08:18:31","guid":{"rendered":"http:\/\/rmohan.com\/?p=7932"},"modified":"2020-03-23T16:18:42","modified_gmt":"2020-03-23T08:18:42","slug":"docker-install-centos7","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=7932","title":{"rendered":"DOCKER INSTALL CENTOS7"},"content":{"rendered":"\n<p>CentOS 7 non-root users install source version of Docker<\/p>\n\n\n\n<ol><li>Check if the current host has a docker group<\/li><\/ol>\n\n\n\n<p>cat \/etc\/group | grep docker <\/p>\n\n\n\n<p>sudo groupadd docker <\/p>\n\n\n\n<p>cat \/etc\/group | grep docker <\/p>\n\n\n\n<p>useradd test <\/p>\n\n\n\n<p>cat \/etc\/passwd  | grep dev01 <\/p>\n\n\n\n<p>Add sudo permissions for new users<\/p>\n\n\n\n<p>vi \/etc\/sudoers<br>\n??Add on line 92 next line<br>\n??dev01 ALL = (ALL) ALL<\/p>\n\n\n\n<ol><li>Add the current user to the docker group (at this time the user has not joined the docker group)<\/li><\/ol>\n\n\n\n<p>gpasswd -a admin docker <\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/download.docker.com\/linux\/static\/stable\/x86_64\/docker-19.03.7.tgz\n<\/div><\/figure>\n\n\n\n<p>mkdir \/docker <\/p>\n\n\n\n<p>tar -zxvf docker-19.03.7.tgz -C \/docker <\/p>\n\n\n\n<p>cp docker\/* \/usr\/bin\/<\/p>\n\n\n\n<p>chown root:docker \/usr\/bin\/docker*<br>\n chown root:docker \/usr\/bin\/containerd*<br>\n chown root:docker \/usr\/bin\/runc<br>\n chown root:docker \/usr\/bin\/ctr<\/p>\n\n\n\n<p>ll \/usr\/bin\/ | grep docker <\/p>\n\n\n\n<p>vi \/etc\/systemd\/system\/docker.service<\/p>\n\n\n\n<p>[Unit]<br>\nDescription=Docker Application Container Engine<br>\nDocumentation=https:\/\/docs.docker.com<br>\nAfter=network-online.target firewalld.service<br>\nWants=network-online.target<\/p>\n\n\n\n<p>[Service]<br>\nType=notify<br>\nExecStart=\/usr\/bin\/dockerd <br>\nExecReload=\/bin\/kill -s HUP $MAINPID<br>\nLimitNOFILE=infinity<br>\nLimitNPROC=infinity<br>\nLimitCORE=infinity<br>\nTimeoutStartSec=0<br>\nDelegate=yes<br>\nKillMode=process<br>\nRestart=on-failure<br>\nStartLimitBurst=3<br>\nStartLimitInterval=60s<\/p>\n\n\n\n<p>[Install]<br>\nWantedBy=multi-user.target<\/p>\n\n\n\n<p>chmod a+x \/etc\/systemd\/system\/docker.service<br>\nsystemctl daemon-reload <\/p>\n\n\n\n<p>vi \/etc\/docker\/daemon.json <\/p>\n\n\n\n<p>{<br>\n&#8220;registry-mirrors&#8221;: [&#8220;http:\/\/hub-mirror.rmohan.com&#8221;]<br>\n}<\/p>\n\n\n\n<p>systemctl start docker<\/p>\n\n\n\n<p>docker basic commands<\/p>\n\n\n\n<p>docker start \/ stop \/ restart \/ view the status <br>\nsudo systemctl start \/ stop \/ restart \/ status <\/p>\n\n\n\n<p>View docker has been mirrored <br>\ndocker images <\/p>\n\n\n\n<p>in the docker&#8217;s official website searches for the specified mirror <br>\ndocker search image <\/p>\n\n\n\n<p>Download image (without labeling the default download the latest version of the image) <br>\ndocker pull Mirror Name: tag (ie tag) <\/p>\n\n\n\n<p>Start the container (run the image-based container with the name xxx, and map the container port to the local port, and the container directory file is stored in the local directory) <\/p>\n\n\n\n<p>docker run -d -name xxx -p Local port: Container port -v native directory: container directory image name: tag (or ID) <\/p>\n\n\n\n<p>into the running container <\/p>\n\n\n\n<p>docker exec -it container name (or ID) \/ bin \/ bash <\/p>\n\n\n\n<p>container start \/ stop \/ restart \/ information \/ delete <\/p>\n\n\n\n<p>docker start \/ stop \/ restart \/ inspect \/ rm container name (or ID) <\/p>\n\n\n\n<p>view running containers <\/p>\n\n\n\n<p>docker ps <\/p>\n\n\n\n<p>view all containers (including running, stopped, not including deleted) <\/p>\n\n\n\n<p>docker ps -a <\/p>\n\n\n\n<p>image deletion (before deleting the image Please delete all containers related to this image) <\/p>\n\n\n\n<p>docker rmi image name: tag (or ID) <\/p>\n\n\n\n<p>view information about currently installed docker <\/p>\n\n\n\n<p>docker info<\/p>\n\n\n\n<p>yum install -y yum-utils device-mapper-persistent-data lvm2<\/p>\n\n\n\n<p>yum-config-manager &#8211;add-repo https:\/\/mirrors.aliyun.com\/docker-ce\/linux\/centos\/docker-ce.repo <\/p>\n\n\n\n<p>yum install docker-ce<\/p>\n\n\n\n<p>systemctl enable docker<\/p>\n\n\n\n<p>systemctl start docker <\/p>\n\n\n\n<p>groupadd docker<\/p>\n\n\n\n<p>usermod -aG docker $USER<\/p>\n\n\n\n<p>docker volume create portainer_data<\/p>\n\n\n\n<p>docker run -d -p 9000:9000 -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v portainer_data:\/data portainer\/portainer<\/p>\n\n\n\n<p>Docker common commands<br>\ndocker ps -view all containers currently running -a display including stopped containers<\/p>\n\n\n\n<p>docker pull  -pull images<\/p>\n\n\n\n<p>docker rmi  -After deleting the image, you can match it directly based on the image name or the first letter of the tag<\/p>\n\n\n\n<p>docker start container_id- open container (here can be container id or name)<\/p>\n\n\n\n<p>docker stop container_id  -stop container  (here can be container id or name)<\/p>\n\n\n\n<p>docker rm  -delete a container (only stopped containers can be deleted)<\/p>\n\n\n\n<p>docker build  -create images using Dockerfile<\/p>\n\n\n\n<p>docker exec  -execute commands in the container, for example: docker exec -it   container_id (container name or id) \/ bin \/ bash  (bin \/ bash command or tool to execute)<\/p>\n\n\n\n<p>docker logs &#8211;View container logs, for example: docker logs -f -t &#8211;tail 10  container_id  (container name or id) <\/p>\n\n\n\n<p>Run the container<\/p>\n\n\n\n<p>docker run -it &#8211;rm -p 8000:80 &#8211;name aspnet_sample microsoft\/dotnet__<\/p>\n\n\n\n<p>&#8211;name container name, followed by mirror path or name<\/p>\n\n\n\n<p>&#8211;rm delete the container after running <\/p>\n\n\n\n<p>-p port mapping 8000 external port 80 mirroring running port mapping 8000 to 80 mirroring<\/p>\n\n\n\n<p>-it outputs the contents of the container command line, that is, the container&#8217;s own program output is a bit similar to the foreground run in the console<\/p>\n\n\n\n<p>-d Contrary to it Hide background run<\/p>\n","protected":false},"excerpt":{"rendered":"\n<p>CentOS 7 non-root users install source version of Docker<\/p>\n<p> Check if the current host has a docker group <\/p>\n<p>cat \/etc\/group | grep docker <\/p>\n<p>sudo groupadd docker <\/p>\n<p>cat \/etc\/group | grep docker <\/p>\n<p>useradd test <\/p>\n<p>cat \/etc\/passwd | grep dev01 <\/p>\n<p>Add sudo permissions for new users<\/p>\n<p>vi \/etc\/sudoers ??Add on line [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7932"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7932"}],"version-history":[{"count":1,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7932\/revisions"}],"predecessor-version":[{"id":7933,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7932\/revisions\/7933"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}