#搜索docker镜像 [root@node1 ~]# docker search centos INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos The official build of CentOS. 3029 [OK] docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.8 x86_64 / CentOS-7 7.3.1611 x8... 56 [OK] docker.io docker.io/nimmis/java-centos This is docker images of CentOS 7 with dif... 23 [OK] docker.io docker.io/consol/centos-xfce-vnc Centos container with "headless" VNC sessi... 18 [OK] docker.io docker.io/million12/centos-supervisor Base CentOS-7 with supervisord launcher, h... 12 [OK] docker.io docker.io/nickistre/centos-lamp LAMP on centos setup 9 [OK] docker.io docker.io/torusware/speedus-centos Always updated official CentOS docker imag... 8 [OK] docker.io docker.io/egyptianbman/docker-centos-nginx-php A simple and highly configurable docker co... 6 [OK] docker.io docker.io/nathonfowlie/centos-jre Latest CentOS image with the JRE pre-insta... 5 [OK] docker.io docker.io/centos/mariadb55-centos7 4 [OK] docker.io docker.io/consol/sakuli-centos-xfce Sakuli JavaScript based end-2-end testing ... 3 [OK] docker.io docker.io/centos/tools Docker image that has systems administrati... 2 [OK] docker.io docker.io/harisekhon/centos-java Java on CentOS (OpenJDK, tags jre/jdk7-8) 2 [OK] docker.io docker.io/blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK] docker.io docker.io/centos/redis Redis built for CentOS 1 [OK] docker.io docker.io/darksheer/centos Base Centos Image -- Updated hourly 1 [OK] docker.io docker.io/freenas/centos CentOS image enhanced with FreeNAS 10 meta... 1 [OK] docker.io docker.io/harisekhon/centos-scala Scala + CentOS (OpenJDK tags 2.10-jre7 - 2... 1 [OK] docker.io docker.io/timhughes/centos Centos with systemd installed and running 1 [OK] docker.io docker.io/grayzone/centos auto build for centos. 0 [OK] docker.io docker.io/januswel/centos yum update-ed CentOS image 0 [OK] docker.io docker.io/kz8s/centos Official CentOS plus epel-release 0 [OK] docker.io docker.io/repositoryjp/centos Docker Image for CentOS. 0 [OK] docker.io docker.io/vcatechnology/centos A CentOS Image which is updated daily 0 [OK] docker.io docker.io/wenjianzhou/centos centos 0 [OK]
[root@node1 ~]# docker search busybox INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/busybox Busybox base image. 911 [OK] docker.io docker.io/progrium/busybox 65 [OK] docker.io docker.io/radial/busyboxplus Full-chain, Internet enabled, busybox made... 11 [OK] docker.io docker.io/container4armhf/armhf-busybox Automated build of Busybox for armhf devic... 4 [OK] docker.io docker.io/odise/busybox-python 4 [OK] docker.io docker.io/azukiapp/busybox This image is meant to be used as the base... 2 [OK] docker.io docker.io/multiarch/busybox multiarch ports of ubuntu-debootstrap 2 [OK] docker.io docker.io/elektritter/busybox-teamspeak Leightweight teamspeak3 container based on... 1 [OK] docker.io docker.io/getblank/busybox Docker container busybox for Blank 1 [OK] docker.io docker.io/odise/busybox-curl 1 [OK] docker.io docker.io/ofayau/busybox-jvm Prepare busybox to install a 32 bits JVM. 1 [OK] docker.io docker.io/ofayau/busybox-libc32 Busybox with 32 bits (and 64 bits) libs 1 [OK] docker.io docker.io/skomma/busybox-data Docker image suitable for data volume cont... 1 [OK] docker.io docker.io/socketplane/busybox 1 [OK] docker.io docker.io/cucy/busybox aouto build busybox 0 [OK] docker.io docker.io/ddn0/busybox fork of official busybox 0 [OK] docker.io docker.io/dpcrook/data-busybox Data container for `/var/lib/mysql`, `/va... 0 [OK] docker.io docker.io/futurenda/busybox Mini busybox 0 [OK] docker.io docker.io/ggtools/busybox-ubuntu Busybox ubuntu version with extra goodies 0 [OK] docker.io docker.io/hongtao12310/busybox for busybox image based on the gcr.io/goog... 0 [OK] docker.io docker.io/jahroots/busybox Busybox containers 0 [OK] docker.io docker.io/jiangshouzhuang/busybox busybox 0 [OK] docker.io docker.io/oveits/docker-nginx-busybox This is a tiny NginX docker image based on... 0 [OK] docker.io docker.io/prom/busybox Prometheus Busybox Docker base images 0 [OK] docker.io docker.io/sdurrheimer/prom-busybox Moved to https://hub.docker.com/r/prom/bus... 0 [OK]
#下载docker镜像 [root@node1 ~]# docker pull busybox Using default tag: latest Trying to pull repository docker.io/library/busybox ... latest: Pulling from docker.io/library/busybox 4b0bc1c4050b: Pull complete Digest: sha256:817a12c32a39bbe394944ba49de563e085f1d3c5266eb8e9723256bc4448680e Status: Downloaded newer image for docker.io/busybox:latest
[root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/busybox latest 7968321274dc 7 days ago 1.11 MB
#运行docker镜像 [root@node1 ~]# docker run -it busybox:latest /bin/sh / # ls bin dev etc home proc root run sys tmp usr var
#列出正在运行中的docker容器 [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc151d747319 busybox:latest "/bin/sh" About a minute ago Up About a minute amazing_pike
[root@node1 ~]# docker pull centos
#显示docker环境信息 [root@node1 ~]# docker info
#显示docker版本 [root@node1 ~]# docker version Client: Version: 1.10.3 API version: 1.22 Package version: docker-common-1.10.3-59.el7.centos.x86_64 Go version: go1.6.3 Git commit: 3999ccb-unsupported Built: Thu Dec 15 17:24:43 2016 OS/Arch: linux/amd64
Server: Version: 1.10.3 API version: 1.22 Package version: docker-common-1.10.3-59.el7.centos.x86_64 Go version: go1.6.3 Git commit: 3999ccb-unsupported Built: Thu Dec 15 17:24:43 2016 OS/Arch: linux/amd64 #查看Docker镜像 [root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/busybox latest 7968321274dc 8 days ago 1.11 MB docker.io/centos latest 67591570dd29 5 weeks ago 191.8 MB
#运行docker镜像 [root@node1 ~]# docker run -it centos:latest /bin/bash [root@67319a5a2333 /]# ls anaconda-post.log dev home lib64 media opt root sbin sys usr bin etc lib lost+found mnt proc run srv tmp var
#查看正在运行的docker容器 [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 8 seconds ago Up 6 seconds focused_jones 67319a5a2333 centos:latest "/bin/bash" 2 minutes ago Up 2 minutes nauseous_hodgkin
#centos镜像操作 [root@67319a5a2333 /]# cd /etc/yum.repos.d/ [root@67319a5a2333 yum.repos.d]# ls CentOS-Base.repo CentOS-Media.repo CentOS-fasttrack.repo CentOS-CR.repo CentOS-Sources.repo CentOS-Debuginfo.repo CentOS-Vault.repo [root@67319a5a2333 yum.repos.d]# ifconfig bash: ifconfig: command not found [root@67319a5a2333 yum.repos.d]# ip addr list bash: ip: command not found [root@67319a5a2333 yum.repos.d]# yum install iproute
#删除正在运行的docker容器 [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 10 minutes ago Up 10 minutes focused_jones 67319a5a2333 centos:latest "/bin/bash" 12 minutes ago Up 12 minutes nauseous_hodgkin [root@node1 ~]# docker kill 67319a5a2333 67319a5a2333 [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 10 minutes ago Up 10 minutes focused_jones
#显示所有的docker容器,包括已关掉的 [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 11 minutes ago Up 11 minutes focused_jones 67319a5a2333 centos:latest "/bin/bash" 13 minutes ago Exited (137) 51 seconds ago nauseous_hodgkin cc151d747319 busybox:latest "/bin/sh" 23 hours ago Exited (0) 21 hours ago amazing_pike
#移除docker容器 [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 14 minutes ago Up 13 minutes focused_jones 67319a5a2333 centos:latest "/bin/bash" 16 minutes ago Exited (137) 3 minutes ago nauseous_hodgkin cc151d747319 busybox:latest "/bin/sh" 23 hours ago Exited (0) 21 hours ago amazing_pike [root@node1 ~]# docker rm cc151d747319 cc151d747319 [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 14 minutes ago Up 14 minutes focused_jones 67319a5a2333 centos:latest "/bin/bash" 16 minutes ago Exited (137) 3 minutes ago nauseous_hodgkin
#基于正在运行的容器创建新容器 [root@node1 ~]# docker run -it centos:latest /bin/bash [root@94862d601473 /]# cd home/ [root@94862d601473 home]# useradd centos [root@94862d601473 home]# id centos uid=1000(centos) gid=1000(centos) groups=1000(centos) [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 94862d601473 centos:latest "/bin/bash" 3 minutes ago Up 3 minutes awesome_pare 0010752b4dc8 busybox:latest "/bin/sh" 21 minutes ago Up 21 minutes focused_jones [root@node1 ~]# docker commit 94862d601473 centos:newuser sha256:4b761c9a987a61d8d46414418839c6af74747fb6d56037fd39a8ac59449cea91 [root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos newuser 4b761c9a987a 30 seconds ago 192.1 MB docker.io/busybox latest 7968321274dc 8 days ago 1.11 MB docker.io/centos latest 67591570dd29 5 weeks ago 191.8 MB [root@node1 ~]# docker kill 94862d601473 94862d601473 [root@node1 ~]# docker rm 94862d601473 94862d601473 [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 44 minutes ago Up 44 minutes focused_jones [root@node1 ~]# docker run -it --rm centos:latest /bin/bash [root@9da547098810 /]# id centos id: centos: no such user [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9da547098810 centos:latest "/bin/bash" About a minute ago Up About a minute romantic_gates 0010752b4dc8 busybox:latest "/bin/sh" 47 minutes ago Up 47 minutes focused_jones [root@node1 ~]# docker kill 9da547098810 9da547098810 [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0010752b4dc8 busybox:latest "/bin/sh" 48 minutes ago Up 48 minutes focused_jones [root@node1 ~]# docker run -it --rm centos:newuser /bin/bash [root@c3eb3d9732f1 /]# id centos uid=1000(centos) gid=1000(centos) groups=1000(centos)
03docker应用进阶
[root@node1 ~]# docker run busybox:latest /bin/echo "hello world" hello world [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8b48c5872eb8 busybox:latest "/bin/echo 'hello wor" About a minute ago Exited (0) About a minute ago goofy_jepsen 0010752b4dc8 busybox:latest "/bin/sh" About an hour ago Exited (137) 24 seconds ago focused_ [root@node1 ~]# docker start 8b48c5872eb8 8b48c5872eb8 [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8b48c5872eb8 busybox:latest "/bin/echo 'hello wor" 4 minutes ago Exited (0) 35 seconds ago goofy_jepsen 0010752b4dc8 busybox:latest "/bin/sh" About an hour ago Exited (137) 3 minutes ago focused_jones
[root@node1 ~]# docker run -it --name=busybox busybox:latest /bin/sh [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f1c0c44b7ad4 busybox:latest "/bin/sh" 36 seconds ago Up 35 seconds busybox [root@node1 ~]# docker stop busybox busybox [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f1c0c44b7ad4 busybox:latest "/bin/sh" About a minute ago Exited (137) 27 seconds ago busybox [root@node1 ~]# docker start busybox busybox [root@node1 ~]# docker attach busybox / # ifconfig eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02 inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:648 (648.0 B) TX bytes:648 (648.0 B) [root@node1 ~]# docker run busybox:latest /bin/echo "hello world" hello world [root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7339054ab26a busybox:latest "/bin/echo 'hello wor" 25 seconds ago Exited (0) 23 seconds ago fervent_carson f1c0c44b7ad4 busybox:latest "/bin/sh" 13 minutes ago Up 6 minutes busybox [root@node1 ~]# docker start 7339054ab26a 7339054ab26a [root@node1 ~]# docker logs 7339054ab26a hello world hello world
#创建私有仓库 [root@node2 ~]# cd /etc/yum.repos.d/ [root@node2 yum.repos.d]# vim CentOS-Base.repo 在[updates]和[extras]下分别添加 enabled=1 [root@node2 yum.repos.d]# yum clean all [root@node2 yum.repos.d]# yum repolist [root@node2 yum.repos.d]# yum -y install docker-registry [root@node2 ~]# vim /etc/docker-registry.yml [root@node2 ~]# vim /etc/sysconfig/docker-registry [root@node2 ~]# systemctl start docker-registry.service
[root@node1 ~]# docker logout [root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos newuser 4b761c9a987a 24 hours ago 192.1 MB docker.io/busybox latest 7968321274dc 9 days ago 1.11 MB docker.io/centos latest 67591570dd29 5 weeks ago 191.8 MB [root@node1 ~]# docker tag 7968321274dc 192.168.1.132:5000/busybox:1.2.1 [root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos newuser 4b761c9a987a 24 hours ago 192.1 MB 192.168.1.132:5000/busybox 1.2.1 7968321274dc 9 days ago 1.11 MB docker.io/busybox latest 7968321274dc 9 days ago 1.11 MB docker.io/centos latest 67591570dd29 5 weeks ago 191.8 MB [root@node1 ~]# docker push 192.168.1.132:5000/busybox:1.2.1 The push refers to a repository [192.168.1.132:5000/busybox] unable to ping registry endpoint https://192.168.1.132:5000/v0/ v2 ping attempt failed with error: Get https://192.168.1.132:5000/v2/: EOF v1 ping attempt failed with error: Get https://192.168.1.132:5000/v1/_ping: EOF
[root@node1 ~]# cd /etc/yum.repos.d/ [root@node1 yum.repos.d]# vim CentOS-Base.repo 在[updates]和[extras]下分别添加 enabled=1 [root@node1 yum.repos.d]# vim /etc/sysconfig/docker 修改 #ADD_REGISTRY='--add-registry registry.access.redhat.com' 为 ADD_REGISTRY='--add-registry 192.168.1.132:5000' 修改 # INSECURE_REGISTRY='--insecure-registry' 为 INSECURE_REGISTRY='--insecure-registry 192.168.1.132:5000' [root@node1 yum.repos.d]# systemctl restart docker.service [root@node1 yum.repos.d]# docker push 192.168.1.132:5000/busybox:1.2.1 The push refers to a repository [192.168.1.132:5000/busybox] 38ac8d0f5bb3: Image successfully pushed Pushing tag for rev [7968321274dc] on {http://192.168.1.132:5000/v1/repositories/busybox/tags/1.2.1} [root@node1 yum.repos.d]# scp /etc/yum.repos.d/CentOS-Base.repo 192.168.1.133:/etc/yum.repos.d/
[root@node3 ~]# yum -y install docker [root@node3 ~]# vim /etc/sysconfig/docker 修改 ##ADD_REGISTRY='--add-registry registry.access.redhat.com' 为 ADD_REGISTRY='--add-registry 192.168.1.132:5000' 修改 # INSECURE_REGISTRY='--insecure-registry' 为 INSECURE_REGISTRY='--insecure-registry 192.168.1.132:5000' [root@node3 ~]# systemctl start docker.service [root@node3 ~]# docker pull 192.168.1.132:5000/busybox:1.2.1 [root@node3 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.132:5000/busybox 1.2.1 6f6e7813d8a1 9 days ago 1.11 MB
#Docker的数据卷 [root@node1 ~]# docker run -it --name busybox2 -v /data busybox:latest / # ls bin data dev etc home proc root run sys tmp usr var / # cd /data/ /data # ls /data # cp /etc/hosts . /data # ls hosts [root@node1 ~]# ls /var/lib/docker/volumes/bf2b562a3277475a3695468352f2f944c75ca7ee2433be6d27294f3e1e332757/ _data [root@node1 ~]# ls /var/lib/docker/volumes/bf2b562a3277475a3695468352f2f944c75ca7ee2433be6d27294f3e1e332757/_data/ hosts /data # vi hosts 添加 new line [root@node1 ~]# cat /var/lib/docker/volumes/bf2b562a3277475a3695468352f2f944c75ca7ee2433be6d27294f3e1e332757/_data/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 4504beabeeae new line #宿主机的文件同步被修改