docker笔记

安装

ubuntu使用官方脚本自动安装

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

加入用户组

  • 创建docker用户组

    1
    sudo groupadd docker
  • 加入docker用户组

    1
    sudo usermod -aG docker ${USER}
  • 重启docker服务

    1
    sudo service docker restart
  • 切换或者退出当前账户再从新登入

    1
    2
    su root             切换到root用户
    su ${USER} 再切换到原来的应用用户以上配置才生效

docker镜像加速器

阿里云镜像加速器

镜像

  • 列出本机所有image文件

    1
    docker image ls
  • 删除image文件

    1
    docker image rm [imageName]

容器

  • 先pull一个镜像

    1
    docker pull training/webapp
  • 产生一个容器

    1
    2
    3
    docker run -d -P training/webapp python app.py
    #-d:让容器在后台运行。
    #-P:将容器内部使用的网络端口映射到我们使用的主机上。
  • 列出[所有]容器

    1
    2
    3
    4
    docker ps [-a]
    #CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    #43c2ddf7ba86 training/webapp "python app.py" 7 minutes ago Up 7 minutes 0.0.0.0:32768->5000/tcp relaxed_jepsen
    #现在访问192.168.91.134:32768,就可以看到hello world
  • 也可以自己指定端口

    1
    docker run -d -p 5000:5000 training/webapp python app.py
  • 查看 WEB 应用程序日志
    docker logs [ID或者名字] 可以查看容器内部的标准输出。

    1
    2
    3
    4
    5
    docker logs 8b64b668a789
    Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
    192.168.91.1 - - [18/Jul/2019 10:38:28] "GET / HTTP/1.1" 200 -
    192.168.91.1 - - [18/Jul/2019 10:38:28] "GET /favicon.ico HTTP/1.1" 404 -
    #使用docker logs -f 8b64b668a789,可以持续查看日志
  • 查看WEB应用程序容器的进程

    1
    2
    3
    docker top 8b64b668a789
    #UID PID PPID C STIME TTY TIME CMD
    #root 15091 15063 0 18:36 ? 00:00:00 python app.py
  • 停用并删除所用容器

    1
    docker stop $(docker ps -q) & docker rm $(docker ps -aq)