docker安装与应用
Posted 1501220038
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker安装与应用相关的知识,希望对你有一定的参考价值。
docker安装:安装curl:sudo apt-get install curl
安装docker:curl –sSL https://get.docker.com | sudo sh
设置普通用户执行:sudo usermod –aG docker your-user
重新登录
docker核心概念:
image:创建容器的模板。可以根据一套模板在同一台主机上迅速创建出多个容器。各容器间初始存储情况和设置情况相同。image不能在不同机器上直接迁移,需要导出成文件,移到其他机器后再导入成image。
container:进程+独立存储空间。不能直接复制也不能直接在机器间迁移。此类需求要先将container固化成image,再按上面方法进行迁移。
docker仓库:
存放image的地方,类似git repository,可以是公共的地址,也可以搭建自己的私有库。
docker常用命令:
启动:
docker run xx_image //从镜像建立一个新容器并启动
docker start xx_container //直接启动容器
停止容器:
docker stop xx_container
连上运行中的容器:
docker attach xx_container
以交互式启动container:
docker run –i –t xx_image
docker start -i --interactive xx_container
查看日志:
docker logs xx_container
删除容器:
docker rm xx_container
删除镜像:
docker rmi xx_image
把容器固化成镜像:
docker commit xx_container xx_image
导出容器到文件:
docker export xx_container > ./xx_container_file
导入容器文件到镜像:
cat xx_container_file |docker import - xx_image
导出镜像到文件:
docker save xx_image > ./xx_image_file
导入镜像文件:
docker load -i xx_image_file
Docker使用私有仓库:
建立私有仓库:docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry --restart=always registry
在每个使用这个仓库的机器上的/etc/default/docker 里增加一句:
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=<ip>:5000"
上传image:
docker tag xx_image <ip>:5000/xx
docker push <ip>:5000/xx
下载image:
docker pull <ip>:5000/xx
删除私有库中的镜像:
curl -X DELETE localhost:5000/v1/repositories/ubuntu/tags/latest (只是删除标签,不真正删除文件)
Dockerfile:
创建container的命令序列。可以根据文件指示自动完成container及其上的服务的创建和启动。
示例:
FROM <ip>:5000/xx
ADD ./net.sh /root
RUN chmod 755 /root/net.sh
CMD /root/net.sh && /bin/bash
net.sh:
#!/bin/bash
hostname aabbcc
ifconfig eth0 192.168.2.75 netmask 255.255.255.0
route add default gw 192.168.2.74
echo "192.168.2.75 aabbcc">> /etc/hosts
集群部署方案比较:
docker:
container启动非常迅速,物理存储也具有独立性,但网络配置比较麻烦,尤其是跨宿主机的container。最适合的场景是在性能强大的单机上迅速部署多个计算密集型(非IO密集型)虚拟机。
如需跨越物理机共享image,要借助image导出文件或Dockerfile。
如果想利用docker保持开发环境和上线环境一致,那么需要开发时就要在container中进行。
虚拟机:
虚拟机需要在各物理机上安装虚拟机软件,空间占用大、效率低。好处是各虚拟机完全物理隔离,虚拟机迁移可直接进行文件拷贝,且允许跑在不同操作系统的机器上。
物理机:
各物理机要尽量保持操作系统一致、集群部署时容易遗漏文件和配置项。好处是不需要做额外工作,物理文件可见,节点故障后容易恢复。
以上是关于docker安装与应用的主要内容,如果未能解决你的问题,请参考以下文章