Docker笔记

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

[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

[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

[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 ~]#

[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

[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  [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

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

db568adf5c1f

97b6ec615252

5cb5e2fb6d11

2ce4f13ed654

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

CONTAINER

db568adf5c1f

97b6ec615252

5cb5e2fb6d11

2ce4f13ed654

[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

[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

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

e58877cb380a

[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 ~]#

docker1的更多相关文章

  1. cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台

    目录 [TOC] 1.基本概念 ​ 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor.InfluxDB.Grarana了,本文中这三个实例,主要以Docker容器方式运行. 本 ...

  2. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  3. Docker1.12 新增swarm集群

    在Docker1.12新版本中,一个新增加的功能点是swarm集群,通过docker命令可以直接实现docker-engine相互发现,并组建成为一个容器集群.有关集群的docker命令如下: (1) ...

  4. Centos6.7安装docker1.7.1

    Docker当前发布的最新版本已经到了1.11,其官网上针对Centos的的安装需求如下: Docker requires a -bit installation regardless of your ...

  5. docker1.12 安装pxc(Percona XtraDB Cluster )测试

    docker1.12 安装pxc(Percona XtraDB Cluster )测试

  6. docker1.12 安装redis第三方集群方案 codis

    docker1.12 安装redis第三方集群方案 codis

  7. docker1.12在cento7里的跨多主机容器网络

    docker1.12在cento7里的跨多主机容器网络

  8. centos7 docker1.12 私有仓库

    docker1.12私有仓库 参考:http://www.cnblogs.com/xcloudbiz/articles/5497037.html 参考:http://www.07net01.com/2 ...

  9. docker1.13.1的安装与卸载及mysql5.5安装实例

    docker中国官方地址:https://www.docker-cn.com/ 您可以使用以下命令直接从该镜像加速地址进行拉取: $ docker pull registry.docker-cn.co ...

  10. 【k8s】centos上安装kubernetes,报错Error:docker-ce-cli conflicts with 2:docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64

    使用命令: yum install kubernetes 报错: Error: docker-ce-cli conflicts with :docker--.git07f3374.el7.centos ...

随机推荐

  1. The innodb_system data file 'ibdata1' must be writable

    在安装MySQL的时候报的错,我理解的这个错是因为有个文件是Innodb需要在安装MySQL(或者创建数据库的时候)的时候需要写入这个文件,但是他现在没有写的权限. 日志中的错误是: 5.7版本以前是 ...

  2. linux—epoll

    一.epoll服务端实现中需要的3个函数: epoll_create:创建保存epoll文件描述符的空间. epoll_ctl:向空间注册并注销文件描述符. epoll_wait:与select函数类 ...

  3. argument 1 must be 2-item sequence, not int

    看了 https://blog.csdn.net/qq_18250439/article/details/80872425  的说明,才明白为什么错了. 当使用Python3-pygame时出现Typ ...

  4. jquery validate 校验时,如果有type=hiddien

    当校验时,不需要校验#warnId,否则会引起输入框#alarmtile里的样式混乱

  5. Spring核心概念

    Spring是一个轻量级的企业级框架,提供了loc容器,aop实现,DAO/OR支持,Web集成等功能,目标是使现有的JAVA EE技术更易用,并促进良好的编程习惯. 依赖注入让组件之间以配置文件的形 ...

  6. crt证书iis 中引用 程序目录提示 System.UnauthorizedAccessException:拒绝访问

    在站点根目录添加 Authenticated Users 权限

  7. idea的破解及相关安装

    ---- idea的破解 -javaagent:../bin/JetbrainsCrack-2.7-release-str.jar 复制到相关的idea配置文件 并将该Jar包复制到idea的bin目 ...

  8. js-notebook

    注意DOM和BOM的区别,ECMAScript只针对js的语法核心,实际大部分浏览器里的js = ECMAScript + DOM + BOM, 而nodejs里就只包括core js 隐性的toSt ...

  9. python基础之作业2----购物车小练习

    product_list = [    ("Iphone",6000),    ("Mac pro",12800),    ("Bike", ...

  10. 使用DD 创建SWAP

    1创建所需swap空间的文件 + records in + records out bytes ( MB) copied, 2.01386 s, 52.1 MB/s[root@web01 ~]# ll ...