Docker环境搭建与使用

2018-10-26笔记
Docker中的容器,可以看作是将程序 + 运行环境的打包后的新程序。这时候,你就不用关心你的程序的运行环境了,因为容器里面的环境就是你当时开发环境的一个拷贝。
Docker环境搭建 我是Ubuntu16.04(64位),先在终端执行lsb_release -cs(我的输出结果是xenial),访问下载地址,依次选择xenial/pool/stable/amd64/,选择要下载的版本,复制链接地址,
$ wget https://download.docker.com/linux/ubuntu/dists/$(lsb_release -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环境搭建与使用
文章图片
docker-hello-world.png 注:可能会保存因为依赖包没有安装,根据错误信息安装即可
添加镜像源 【Docker环境搭建与使用】主要是加速作用,不然可能有时候会卡半天。
$ sudo vi /etc/docker/daemon.json $ sudo cat /etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] #国内镜像源 } $ 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

  1. 这个命令首先会检查本地是否有hello-world容器
  2. 如果没有就通过image创建,其中image就是容器的模板(一个二进制文件),docker run image_name,实际上就是创建一个image实例,最后容器也就是一个文件。(也就是说,image就像相当于类,容器相当于类实例)
  3. 如果本地没有image就从docker的仓库下载下来
  4. 创建一个新的容器,并且启动容器
列出运行中容器
$ docker container ls#列出运行中的容器 $ docker container ls -all #列出全部容器


Docker环境搭建与使用
文章图片
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还有很多强大功能,暂时我也只用到这几个而已了。

    推荐阅读