记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

docker命令学习总结

docker命令学习总结

 

查看docker 系统信息,包括镜像和容器数:docker info

查看docker版本信息:docker version

查看容器:

    在线容器信息:docker ps

    只显示容器的IDdocker ps -q

    显示所有容器信息:docker ps -a

    显示运行容器总文件大小:docker ps -s

    显示最近创建的容器:docker ps -l

    不截断输出:docker ps --no-trunc

镜像操作:

    查看本地所有镜像:docker images #也可以用-q参数来只显示ID信息

    查看本地镜像摘要信息(DIGEST列):docker images --digests

    查看镜像完整信息:docker images --no-trunc

    镜像搜索:docker search images_name

                             ##--filter=stars=500 只输出stars>=500的镜像,这项也可以用"-s 500"来替代

                             ##--no-trunc 输出镜像完整DESCRIPTION信息

                             ##--automated 只输出automated build类型的镜像

    镜像下载:docker pull images_name##-a 拉取所有tagged 镜像

    镜像删除:docker rmi images_name or imageID##-f 强制删除(针对基于镜像有运行容器进程)

容器操作:

    启动已经被停止的容器:docker start CONTAINER_ID or name

    停止容器:docker stop CONTAINER_ID or name

    重启容器:docker restart CONTAINER_ID or name

    删除容器:docker rm CONTAINER_ID or name

    查看容器日志:docker logs (-f) CONTAINER_ID or name #加上-f是动态实时显示

    查看容器中运行的进程:docker top CONTAINER_ID or name #

    使用镜像创建容器:

                  docker run --name names -d image#容器重命名,并后台模式启动

                  docker run -it (-p out_port:in_port) image bash #交互模式启动,并在容器内执行bash

         命令进入容器:docker exec -it CONTAINER_ID or name /bin/bash

    退出容器:exit

容器的导入和导出:

    容器的导出:docker export CONTAINER_ID or names >newname.tar

    例如:docker export my_ubuntu > /tmp/ubuntu.tar my_ubuntu的最新镜像打包为ubuntu.tar

    容器导入(只能导成image):cat newname.tar|docker import - new_image_name

    启动image成容器:docker run -t -i (-p out_port:in_port) new_image_name:latest /bin/bash

镜像的导入和导出:

    镜像导出:docker save -o ubuntu.tar my_ubuntu:latest

                                docker save > ubuntu.tar my_ubuntu:latest

    镜像导入:docker load --input ubuntu.tar

                                docker load < ubuntu.tar

将宿主机指定文件传送到容器内指定地方:docker cp [YourHostFilePath] [containerID]:[DockerPath]

修改容器名称:docker rename CONTAINER_ID or names new_name

详细展示容器的具体信息:docker inspect CONTAINER_ID or names

查看docker中各容器使用的资源情况:

              docker stats #会持续输出信息

              docker stats --no-stream #只返回当前状态

              docker stats --no-stream [CONTAINER_ID or names] #返回容器的当前状态,可同时多个,空格隔开

     一个操作实例(mysql容器中数据库信息导出和导入):

          mysql容器的数据导出:

                     docker exec CONTAINER_ID or names sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /tmp/filename.sql

数据导入容器中的mysql

1.先把文件filename.sql传进docker中:docker cp /tmp/filename.sql CONTAINER_ID or names:[DockerPath]

2.用命令导入:mysql -uroot -p -D databasename < /tmp/filename.sql

附(创建容器时,内存和cpu的部分设定方式):

设置内存上限值: -m 内存数值

设置容器的cpu限制信息:--cpu-cpus num –cpu-quota=num –cpu-period=

Docker与传统虚拟机相比:

优势:

docker启动快速,属于秒级别。

docker需要的资源更少,docker在操作系统级别进行虚拟化,docker容器和内核交互,几乎没有性能损耗,性能优于通过Hypervisor层与内核层的虚拟化。

docker更轻量

快速创建、删除

劣势:

与虚拟机相比,docker隔离性更弱

docker的安全性也更弱

docker的集中化管理工具还不算成熟

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):