设为首页 收藏本站
查看: 706|回复: 0

[经验分享] docker安装与应用

[复制链接]

尚未签到

发表于 2018-5-27 13:22:40 | 显示全部楼层 |阅读模式
  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中进行。
虚拟机:
虚拟机需要在各物理机上安装虚拟机软件,空间占用大、效率低。好处是各虚拟机完全物理隔离,虚拟机迁移可直接进行文件拷贝,且允许跑在不同操作系统的机器上。
物理机:
各物理机要尽量保持操作系统一致、集群部署时容易遗漏文件和配置项。好处是不需要做额外工作,物理文件可见,节点故障后容易恢复。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481819-1-1.html 上篇帖子: docker mysql 数据持久化到本地、设置不区别表名大小写 下篇帖子: Windows Docker镜像构建之Oracle客户端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表