Image常见操作

(1)查看本地image列表
    docker images
    docker image ls
(2)获取远端镜像
    docker pull
(3)删除镜像[注意此镜像如果正在使用,或者有关联的镜像,则需要先处理完]
    docker image rm imageid
    docker rmi -f imageid
    docker rmi -f $(docker image ls)   删除所有镜像
(4)运行镜像
    docker run image
(5)发布镜像
    docker push

container常见操作

(1)根据镜像创建容器
    docker run -d --name -p 9090:8080 my-tomcat tomcat
(2)查看运行中的container
    docker ps
(3)查看所有的container[包含退出的]
    docker ps -a
(4)删除container
    docker rm containerid
    docker rm -f $(docker ps -a)  删除所有container
(5)进入到一个container中
    docker exec -it container bash
(6)查看某个container的日志
    docker logs container
(7)查看容器资源使用情况
    docker stats
(8)查看容器详情信息
    docker inspect container
(9)停止/启动容器
    docker stop/start container

container生成image

(1)拉取一个centos image
    docker pull centos
(2)根据centos镜像创建出一个container
    docker run -d -it --name my-centos centos
(3)进入my-centos容器中
    docker exec -it my-centos bash
(4)输入vim命令
    bash: vim: command not found
(5)我们要做的是
    对该container进行修改,也就是安装一下vim命令,然后将其生成一个新的centos
(6)在centos的container中安装vim
    yum install -y vim
(7)退出容器,将其生成一个新的centos,名称为"vim-centos-image"
    docker commit my-centos vim-centos-image
(8)查看镜像列表,并且基于"vim-centos-image"创建新的容器
    docker run -d -it --name my-vim-centos vim-centos-image
(9)进入到my-vim-centos容器中,检查vim命令是否存在
    docker exec -it my-vim-centos bash
    vim

PS:一般不建议使用commit来生成image,不然image怎么来的就不知道了。

container资源限制

(1)内存限制
    --memory  Memory limit
    如果不设置 --memory-swap,其大小和memory一样
    docker run -d --memory 100M --name tomcat1 tomcat
(2)CPU限制
    --cpu-shares  权重
    docker run -d --cpu-shares 10 --name tomcat2 tomcat

扩展:图形化资源监控

https://github.com/weaveworks/scope

sudo curl -L http://git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch 39.100.39.63
# 停止scope
scope stop
# 同时监控两台机器,在两台机器中分别执行如下命令
scope launch ip1 ip2
12-26 23:08