美文网首页
认识Docker 以及容器镜像的基本操作

认识Docker 以及容器镜像的基本操作

作者: CarryLili | 来源:发表于2019-08-28 10:56 被阅读0次

    认识Docker?

    Docker是一个开源的容器引擎,它基于LXC容器技术,使用Go语言开发。

    源代码托管在Github上,并遵从Apache2.0协议。

    Docker采用C/S架构,其可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。

    Docker是开发,运行和部署应用程序的开放管理平台.开发人员能利用docker开发和运行应用程序, 运维人员能利用docker部署和管理应用程序。

    简单来说:Docker就是一种快速解决生产问题的一种技术手段。

    为什么使用Docker?

    • 跨环境一致性
    • 降低配置开发环境、生产环境的复杂度和成本
    • 可移植性较强。可在多个平台使用:比如:亚马逊、谷歌、微软等
    • 隔离性。能保证每个容器中的资源隔离性。
    • 实现程序的快速部署和分发

    例如:
    1,我在本地写代码,可直接通过docker与同事进行共享,实现协同工作。方便。
    2,在服务器上删除一些应用程序是很难的,但是docker就不一样了,不会产生依赖关系冲突。
    3,在docker写完代码后,可直接进行自动测试和手动测试
    4,如果在开发环境中,发现错误的话,直接在开发环境中修改,然后去测试环境中测试和验证
    5,如果开发完成之后,交付时,直接交付docker就行了。

    docker与虚拟机的区别?

    相同点:

    • docker与虚拟机一样,都对物理硬件资源共享
    • 而且他们的生命周期基本=相似(创建、启动、暂停、关闭))
    • 他们都可以安装自己的应用,比如mysql,redis,nginx等
    • 同虚拟机一样,创建完容器后,户存在 var/lib/docker/containers

    不同点:

    • 虚拟机的创建、启动、关闭都是基于一个完整的操作系统,一个虚拟机就是一个完整的操作系统,而docker是直接运行在宿主机上的,所以docker更像是一系列的进程
    • 容器是轻量级的,虚拟机是重量级的,容器的创建、启动和关闭肯定都比虚拟机要执行的效率快得多。
    • 这也就意味着,在给定的硬件上能运行很多个容器,却不能运行太多的虚拟机。

    相应的,docker也有一些缺点:依赖网络、​依赖操作系统、银行U盾等场景不能用


    Docker基础命令?

    docker 安装:
    查看支持的docker版本
    apt-cache madison docker-ce
    
    安装docker
    apt-get install docker-ce -y
    
    注:可以指定版本安装docker:
    apt-get install docker-ce=<VERSION> -y
    
    启动docker
    systemctl start docker
    systemctl status docker
    
    注意:
    ​ubuntu安装完毕后,默认就开启服务了
    
    检查docker是否安装成功
    sudo docker run hello-world
    
    显示: hello from Docker! 表示已经安装成功
    

    提示:

    提示1: 如果不想每次都输入sudo, 执行, sudo usermod -a -G docker $USER
    提示2: 如果没有镜像,会去下载

    启动,停止docker服务,监测状态

    启动

    sudo service docker start
    

    停止

    sudo service docker stop
    

    重启docker

    sudo service docker restart
    

    状态检查

    sudo service docker status
    

    容器的管理?

    容器就类似于我们运行起来的一个操作系统,而且这个操作系统启动了某些服务。

    这里的容器指的是运行起来的一个Docker镜像

    容器类操作:

    1,查看容器
    最简单的命令
    docker ps -a 
    
    查看所有运行的容器
    docker container ls
    
    查看运行和停止的容器
    docker container ls -all
    
    2,查看nginx容器全部信息
    docker inspect nginx
    
    3,查看所有的容器编号
    docker ps -q
    docker ps -a -q
    
    4,运行,停止运行容器、删除容器
    运行容器
    sudo docker container start 容器名或id
    
    停止容器
    docker container stop 容器名或id
    docker container kill 容器名或id
    
    删除容器
    sudo docker container rm 容器名或id
    
    5,进入创建的容器(myubuntu)
    docker exec -it myubuntu /bin/bash
    
    6 ,使用镜像,创建交互式容器
    docker run [option] --name=容器名称 镜像 [传入的命的命令]
    例如:
    docker run -it --name=myubuntu ubuntu 
    
    解释: 使用ubuntu镜像创建交互式容器, 名字为myubuntu
    退出容器: ctrl + d
    
    7,通过nginx容器创建nginx:v1.0镜像
    docker commit -m 'add ifconfig' -a 'carry' nginx1 nginx:v1.0
    
    8,守护进程nginx
    让Docker容器在后台以守护形式运行。此时可以通过添加-d参数来实现
    docker run -d nginx
    

    镜像类管理:
    Docker镜像是什么?
    它是一个只读的文件,就类似于我们安装操作系统时候所需要的那个iso光盘镜像,通过运行这个镜像来完成各种应用的部署。这里的镜像就是一个能被docker运行起来的一个程序

    镜像操作:

    1,查看所有docker镜像
    docker image ls
    或者: docker images
    
    2,查看所有docker历史镜像
    docker history xxx
    
    3,拉取云端镜像 | 下载镜像(pull)
    docker image pull  xxx
    
    搜索镜像: docker image search xxx
    
    4,镜像备份 (tag 原镜像 新镜像)
     docker tag hello-world:latest hello-world:v2.0
    
    5,删除镜像
    docker rmi xxx
    docker image rm 镜像名或id
    
    6,删除未使用的镜像(慎用)
    docker image prune
    
    7,导出镜像(save -o)
    docker save -o my_hello_world.tar hello-world:latest
    
    8,导入镜像(load -i 本地镜像包)加载本地镜像
    docker load -i my_hello_world.tar
    

    参考官方资料
    Docker 官网:http://www.docker.com
    Github Docker 源码:https://github.com/docker/docker

    相关文章

      网友评论

          本文标题:认识Docker 以及容器镜像的基本操作

          本文链接:https://www.haomeiwen.com/subject/jqzrectx.html