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-hello-world.png

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

添加镜像源

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

$ 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-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环境搭建与使用)