docker环境的搭建与使用

发布时间:2022-05-12 13:38 来源:新网 阅读:118 作者:网络 栏目: 服务器 欢迎投稿:712375056

  设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。Docker中的容器,可以看作是将程序 运行环境的打包后的新程序。这时候,你就不用关心你的程序的运行环境了,因为容器里面的环境就是你当时开发环境的一个拷贝。下面就由小编和大家讲一讲docker环境的搭建与使用。

  一、Docker环境搭建

  我是Ubuntu16.04(64位),先在终端执行lsb_release -cs(我的输出结果是xenial),访问下载地址,依次选择xenial/pool/stable/amd64/,选择要下载的版本,复制链接地址,

  $ wget https://www.56dr.com/ -cs)/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb $ dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb $ sudo usermod -aG docker $USER #将用户加入docker组,避免每次都要sudo

  重启终端,不然还是需要sudo

  $ docker run hello-world

  docker-hello-world.png

  注:可能会保存因为依赖包没有安装,根据错误信息安装即可

  添加镜像源

  主要是加速作用,不然可能有时候会卡半天。

  $ sudo vi /etc/docker/daemon.json $ sudo cat /etc/docker/daemon.json { "registry-mirrors": ["https://www.56dr.com/ #国内镜像源 } $ sudo systemctl enable docker #设置开机启动 $ sudo systemctl daemon-reload #重新加载配置 $ sudo systemctl restart docker #重启docker

  docker-compose

  这个Python程序可以方便地管理多个Docker实例组成的分布式服务。

  $ sudo apt install python3-pip $ sudo pip3 install docker-compose

  二、Docker简单使用

  运行容器

  $ docker run hello-world

  这个命令首先会检查本地是否有hello-world容器

  如果没有就通过image创建,其中image就是容器的模板(一个二进制文件),docker run image_name,实际上就是创建一个image实例,最后容器也就是一个文件。(也就是说,image就像相当于类,容器相当于类实例)

  如果本地没有image就从docker的仓库下载下来

  创建一个新的容器,并且启动容器

  列出运行中容器

  $ docker container ls #列出运行中的容器 $ docker container ls -all #列出全部容器

  docker-containers.png

  第一个字段是ID,用来标识容器实例,因为一个image可以生成多个容器。

  结束容器运行

  $ docker container kill $Container_ID #强行结束运行中的容器,这个主要用来针对作为服务运行的容器

  删除容器

  容器在结束运行后,一般不会自动删除,除非image中进行了配置,或者在run的使用使用了-rm。那么删除容器的命令是:

  $ docker container rm $Container_ID

  清理命令

  docker 1.13开始 的清理命令

  $ docker container prune -f #删除所有停止容器 $ docker image prune -f -a #删除所有镜像

  删除none镜像

  none 镜像是一些没有成功build的临时镜像,删掉即可。

  $ docker rmi $(docker images -f "dangling=true" -q)

  Docker还有很多强大功能,暂时我也只用到这几个而已了。

  Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同,LXC其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。所以我们从虚拟化到docker要解决的问题出发,看看他是怎么满足用户虚拟化需求的。小伙伴们要想获得更多docker环境的内容,请关注特网!

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。