docker1

 

Docker笔记

 

菜鸟笔记:https://www.runoob.com/docker/centos-docker-install.html

 

 

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://gitlab-demo.com

 

 

 

Docker官网:https://docs.docker.com/install/overview/

有两个版本:

Docker is available in two editions:

  • Community Edition (CE)    是免费的版本
  • Enterprise Edition (EE)     是收费的版本

vagrant 安装 centos 7

vagrant + virtualBOX 安装

https://my.oschina.net/cxgphper/blog/1940644

 

安装Docker

系统centos7

 

https://docs.docker.com/install/linux/docker-ce/centos/

 

也可以在vagrantfile中添加安装docker shell

 

 

Vagrant up

 

Docker machine 在本地使用

#docker-machine  create  demo

Docker-machine ls

Docker-machine ssh  demo 进入虚机demo

Docker-machine stop demo1

Docer-machine  env demo  #print出dome虚机的env

#eval  $(docker-machine env demo)

#docker version #可以看到demo的虚机docker版本

 

搜索docker  playground

https://labs.play-with-docker.com/

在 https://www.docker.com/

 

Docker for windows7/windows10安装 以及Docker id注册

https://blog.csdn.net/xzxedu/article/details/82012297

参考docker

https://www.jianshu.com/p/38649ff222ac

 

引导入门:

https://blog.csdn.net/sD7O95O/article/details/80193587

 

 

 

 

 

[root@zizhen02 ~]# ps -ef |grep docker

root       7661      1  0 14:49 ?        00:00:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

root       9829   9790  0 16:32 pts/1    00:00:00 grep --color=auto docker

[root@zizhen02 ~]#

 

 

 

 

 

 

#sudo  docker  image  ls

 

 

 

 

官方给出image获取的 Docker Hub

https://hub.docker.com/search?q=&type=image

 

 

去掉sudo:

把vagrant 添加到组docker 里

#sudo  groupadd docker

#sudo gpasswd  -a  vagrant  docker

#docker  version  权限还是拒绝

#sudo  service docker  restart  重启docker服务

#docker  version

退出重新登。

 

 

 

#docker  image ls

#docker  pull  hello-world  获取hello-world镜像

#docker run hello-world  运行

 

#mkdir hello-world

#cd hello-world

#vim hello.c

-----

#include<stdio.h>

 

int main()

{

    printf("hello docker\n");

}

-----

#yum install   gcc  glibc-static

# gcc -static hello.c -o hello

[root@zizhen02 hello-world]# ls

hello  hello.c

 

# cat Dockerfile

FROM scratch

ADD hello /

CMD ['/hello']

[root@zizhen02 hello-world]# docker build -t xiaoli163/hello-world .

Sending build context to Docker daemon  860.7kB

Step 1/3 : FROM scratch

 --->

Step 2/3 : ADD hello /

 ---> d3ce8749b11d

Step 3/3 : CMD ['/hello']

 ---> Running in 4d72aa29e7a3

Removing intermediate container 4d72aa29e7a3

 ---> a821094d0306

Successfully built a821094d0306

Successfully tagged xiaoli163/hello-world:latest

[root@zizhen02 hello-world]#

# docker image ls

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

xiaoli163/hello-world   latest              a821094d0306        37 seconds ago      857kB

ubuntu                  14.04               5dbc3f318ea5        6 weeks ago         188MB

hello-world             latest              fce289e99eb9        2 months ago        1.84kB

centos                  latest              1e1148e4cc2c        3 months ago        202MB

[root@zizhen02 hello-world]#

[root@zizhen02 hello-world]# ls -lh

total 848K

-rw-r--r-- 1 root root   40 Mar 11 23:02 Dockerfile

-rwxr-xr-x 1 root root 837K Mar 11 22:55 hello

-rw-r--r-- 1 root root   64 Mar 11 22:48 hello.c

[root@zizhen02 hello-world]#

 

#查看docker的分层

[root@zizhen02 hello-world]# docker history a821094d0306

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT

a821094d0306        4 minutes ago       /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "['/h…   0B                 

d3ce8749b11d        4 minutes ago       /bin/sh -c #(nop) ADD file:68a0159a95ced5415…   857kB              

[root@zizhen02 hello-world]#

 

报错:

[root@zizhen02 hello-world]# docker run xiaoli163/hello-world

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown.

Docker组件container

 

 

查看所有运行的容器# docker container ls

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES

97b6ec615252        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:32768->80/tcp                        condescending_wilbur

查看镜像#docker  images

[root@zizhen02 ~]# docker images

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

xiaoli163/hello-world   latest              a821094d0306        18 hours ago        857kB

nginx                   latest              881bd08c0b08        7 days ago          109MB

ubuntu                  14.04               5dbc3f318ea5        6 weeks ago         188MB

hello-world             latest              fce289e99eb9        2 months ago        1.84kB

centos                  latest              1e1148e4cc2c        3 months ago        202MB

 

查看所有的容器,包括运行、未运行、退出的所有容器#docker container  ls  -a

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                    PORTS                                        NAMES

97b6ec615252        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour          0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour          192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour          0.0.0.0:32768->80/tcp                        condescending_wilbur

058aa0c78e3d        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                goofy_gagarin

2383acd50abe        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                loving_franklin

3dcf3c566c78        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                inspiring_antonelli

4a62f05f9141        hello-world             "/hello"                 20 hours ago        Exited (0) 20 hours ago                                                flamboyant_ellis

7327630800a1        hello-world             "/hello"                 2 days ago          Exited (0) 2 days ago                                                  infallible_chatelet

[root@zizhen02 ~]#

通过交换模式进入docker   :#docker   run  -it  contos  

[root@zizhen02 ~]# docker run -it centos

[root@db568adf5c1f /]#

[root@db568adf5c1f /]#

[root@db568adf5c1f /]# ip a

bash: ip: command not found

[root@db568adf5c1f /]# ip add li

bash: ip: command not found

[root@db568adf5c1f /]# ip link show

bash: ip: command not found

[root@db568adf5c1f /]# ip

bash: ip: command not found

[root@db568adf5c1f /]# ifconfig

bash: ifconfig: command not found

[root@db568adf5c1f /]# ls

anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[root@db568adf5c1f /]# vim

bash: vim: command not found

[root@db568adf5c1f /]# vi

 

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                                        NAMES

db568adf5c1f        centos              "/bin/bash"              About a minute ago   Up About a minute                                                amazing_herschel

97b6ec615252        nginx               "nginx -g 'daemon of…"   About an hour ago    Up About an hour    0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx               "nginx -g 'daemon of…"   About an hour ago    Up About an hour    192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx               "nginx -g 'daemon of…"   2 hours ago          Up 2 hours          0.0.0.0:32768->80/tcp                        condescending_wilbur

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED              STATUS                    PORTS                                        NAMES

db568adf5c1f        centos                  "/bin/bash"              About a minute ago   Up About a minute                                                      amazing_herschel

97b6ec615252        nginx                   "nginx -g 'daemon of…"   About an hour ago    Up About an hour          0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx                   "nginx -g 'daemon of…"   About an hour ago    Up About an hour          192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx                   "nginx -g 'daemon of…"   2 hours ago          Up 2 hours                0.0.0.0:32768->80/tcp                        condescending_wilbur

058aa0c78e3d        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago         Created                                                                goofy_gagarin

2383acd50abe        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago         Created                                                                loving_franklin

3dcf3c566c78        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago         Created                                                                inspiring_antonelli

4a62f05f9141        hello-world             "/hello"                 20 hours ago         Exited (0) 20 hours ago                                                flamboyant_ellis

7327630800a1        hello-world             "/hello"                 2 days ago           Exited (0) 2 days ago                                                  infallible_chatelet

[root@zizhen02 ~]#

Docker退出,容器退出

[root@db568adf5c1f /]# exit

exit

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                      PORTS                                        NAMES

db568adf5c1f        centos                  "/bin/bash"              8 minutes ago       Exited (1) 29 seconds ago                                                amazing_herschel

 

删除退出未运行的容器;删除运行的容器会报错;

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                     PORTS                                        NAMES

db568adf5c1f        centos                  "/bin/bash"              13 minutes ago      Exited (1) 5 minutes ago                                                amazing_herschel

97b6ec615252        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour           0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour           192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx                   "nginx -g 'daemon of…"   2 hours ago         Up 2 hours                 0.0.0.0:32768->80/tcp                        condescending_wilbur

058aa0c78e3d        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 goofy_gagarin

2383acd50abe        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 loving_franklin

3dcf3c566c78        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 inspiring_antonelli

4a62f05f9141        hello-world             "/hello"                 20 hours ago        Exited (0) 20 hours ago                                                 flamboyant_ellis

7327630800a1        hello-world             "/hello"                 2 days ago          Exited (0) 2 days ago                                                   infallible_chatelet

 

删除容器:docker  rm   4a  (可以区分容器id就可以删除,也可以全部的container ID)

[root@zizhen02 ~]# docker rm 4a

4a

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                     PORTS                                        NAMES

db568adf5c1f        centos                  "/bin/bash"              13 minutes ago      Exited (1) 5 minutes ago                                                amazing_herschel

97b6ec615252        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour           0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx                   "nginx -g 'daemon of…"   About an hour ago   Up About an hour           192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx                   "nginx -g 'daemon of…"   2 hours ago         Up 2 hours                 0.0.0.0:32768->80/tcp                        condescending_wilbur

058aa0c78e3d        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 goofy_gagarin

2383acd50abe        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 loving_franklin

3dcf3c566c78        xiaoli163/hello-world   "/bin/sh -c ['/hello…"   18 hours ago        Created                                                                 inspiring_antonelli

7327630800a1        hello-world             "/hello"                 2 days ago          Exited (0) 2 days ago                                                   infallible_chatelet

[root@zizhen02 ~]# docker rm 7327

7327

[root@zizhen02 ~]#

#docker rm [container]  删除container

 

删除镜像用#  docker  rmi   [镜像ID]

#docker rmi  [image]   删除image

[root@zizhen02 ~]# docker image ls

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

xiaoli163/hello-world   latest              a821094d0306        19 hours ago        857kB

nginx                   latest              881bd08c0b08        7 days ago          109MB

ubuntu                  14.04               5dbc3f318ea5        6 weeks ago         188MB

hello-world             latest              fce289e99eb9        2 months ago        1.84kB

centos                  latest              1e1148e4cc2c        3 months ago        202MB

[root@zizhen02 ~]# docker rmi fce289e99eb9

Untagged: hello-world:latest

Untagged: hello-world@sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535

Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e

Deleted: sha256:af0b15c8625bb1938f1d7b17081031f649fd14e6b233688eea3c5483994a66a3

[root@zizhen02 ~]# docker images

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

xiaoli163/hello-world   latest              a821094d0306        19 hours ago        857kB

nginx                   latest              881bd08c0b08        7 days ago          109MB

ubuntu                  14.04               5dbc3f318ea5        6 weeks ago         188MB

centos                  latest              1e1148e4cc2c        3 months ago        202MB

[root@zizhen02 ~]#

 

运行中的container 先#docker container stop [id] 停止; 再删除image

[root@zizhen02 ~]# docker container

 

Usage:     docker container COMMAND

 

Manage containers

 

Commands:

  attach      Attach local standard input, output, and error streams to a running container

  commit      Create a new image from a container's changes

  cp          Copy files/folders between a container and the local filesystem

  create      Create a new container

  diff        Inspect changes to files or directories on a container's filesystem

  exec        Run a command in a running container

  export      Export a container's filesystem as a tar archive

  inspect     Display detailed information on one or more containers

  kill        Kill one or more running containers

  logs        Fetch the logs of a container

  ls          List containers

  pause       Pause all processes within one or more containers

  port        List port mappings or a specific mapping for the container

  prune       Remove all stopped containers

  rename      Rename a container

  restart     Restart one or more containers

  rm          Remove one or more containers

  run         Run a command in a new container

  start       Start one or more stopped containers

  stats       Display a live stream of container(s) resource usage statistics

  stop        Stop one or more running containers

  top         Display the running processes of a container

  unpause     Unpause all processes within one or more containers

  update      Update configuration of one or more containers

  wait        Block until one or more containers stop, then print their exit codes

 

Run 'docker container COMMAND --help' for more information on a command.

[root@zizhen02 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES

97b6ec615252        nginx               "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp   nginxv2

5cb5e2fb6d11        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          192.168.1.107:8000->80/tcp                   mynginx

2ce4f13ed654        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          0.0.0.0:32768->80/tcp                        condescending_wilbur

[root@zizhen02 ~]# docker container stop 97b6ec615252

97b6ec615252

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                        NAMES

5cb5e2fb6d11        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          192.168.1.107:8000->80/tcp   mynginx

2ce4f13ed654        nginx               "nginx -g 'daemon of…"   2 hours ago         Up 2 hours          0.0.0.0:32768->80/tcp        condescending_wilbur

[root@zizhen02 ~]# docker container stop 5c 2c

5c

2c

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

[root@zizhen02 ~]#

 

批量删除container

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES

db568adf5c1f        centos              "/bin/bash"              29 minutes ago      Exited (1) 21 minutes ago                       amazing_herschel

97b6ec615252        nginx               "nginx -g 'daemon of…"   2 hours ago         Exited (0) 5 minutes ago                        nginxv2

5cb5e2fb6d11        nginx               "nginx -g 'daemon of…"   2 hours ago         Exited (0) 5 minutes ago                        mynginx

2ce4f13ed654        nginx               "nginx -g 'daemon of…"   2 hours ago         Exited (0) 5 minutes ago                        condescending_wilbur

 

-q参数可以列出container id

[root@zizhen02 ~]# docker container ls -aq

db568adf5c1f

97b6ec615252

5cb5e2fb6d11

2ce4f13ed654

[root@zizhen02 ~]# docker container ls -a| awk {'print $1'}

CONTAINER

db568adf5c1f

97b6ec615252

5cb5e2fb6d11

2ce4f13ed654

通过-q参数进行批量删除container

[root@zizhen02 ~]# docker rm $(docker container ls -aq)

db568adf5c1f

97b6ec615252

5cb5e2fb6d11

2ce4f13ed654

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

[root@zizhen02 ~]#

比较复杂的删除container

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES

e58877cb380a        nginx               "nginx -g 'daemon of…"   30 seconds ago      Exited (0) 11 seconds ago                       agitated_bartik

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

 

列出状态等于退出的容器:#docker container  ls  -f "status=exited"

[root@zizhen02 ~]# docker container ls -f "status=exited"

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES

e58877cb380a        nginx               "nginx -g 'daemon of…"   About a minute ago   Exited (0) About a minute ago                       agitated_bartik

列出状态等于退出的容器的ID:#docker container ls -f "status=exited" -q

[root@zizhen02 ~]# docker container ls -f "status=exited" -q

e58877cb380a

列出状态等于退出的容器的ID并删除:#docker  rm  $(docker container ls -f "status=exited" -q)

[root@zizhen02 ~]# docker rm $(docker container ls -f "status=exited" -q)

e58877cb380a

[root@zizhen02 ~]# docker container ls

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

[root@zizhen02 ~]# docker container ls -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

[root@zizhen02 ~]#

 

posted on 2019-03-14 19:09  微子天明  阅读(495)  评论(0编辑  收藏  举报

导航