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

[经验分享] DOCKER容器的基本使用(一)

[复制链接]

尚未签到

发表于 2018-5-29 08:47:37 | 显示全部楼层 |阅读模式
  环境:
  主机:装有centos7.2的物理机 I P:192.168.122.1            关闭防火墙  selinux状态为disabled
  软件:docker-engine-1.10.3-1.el7.centos.x86_64.rpm
    docker-engine-selinux-1.10.3-1.el7.centos.noarch.rpm
  
  操作:
  安装软件 yum install docker-engine-1.10.3-1.el7.centos.x86_64.rpm
docker-engine-selinux-1.10.3-1.el7.centos.noarch.rpm

  启动    systemctl start docker
  查看docker信息    docker version
DSC0000.png

  导入docker镜像   docker   load   -i  centos.tar
  查看docker镜像   docker   images
DSC0001.png

  运行容器  
  1>      docker run -it  --name test  rhel7  bash      在前台bash交互式运行   
   #####开启容器并进入交互式界面:ctrl+d 会直接关闭容器退出交互式界面    ctrl+p+q 退出交互式界面但不会关闭容器
  2>      docker run -d  --name test1  nginx         -d表示打入后台运行
DSC0002.png

  3> docker run -d  --name  nginx  -v index.html:/usr/share/ngin/html/index.html  -p  8080:80  nginx    创建容器  -v 将本地的index.html 文件挂载到容器中    -p端口映射   将容器的80端口映射到物理机的8080
DSC0003.png

  可以通过访问物理机的8080端口或容器的IP 来访问容器的nginx
DSC0004.png

  4> docker create --name file -v /tmp/data1:/data1  -v /tmp/data2:/data2 ubuntu bash        添加卷容器  卷容器可以被调用在新建的容器上作与卷容器相同的挂载
  5> docker  run  --rm  --volumes-from file -v /tmp/backup:/backup ubuntu tar cf /backup/back.tar  data1      创建一个容器,执行将data1打包到/backup/后 删除容器 --volumes-from 调用file容器的挂载 令新容器也有相同的挂载
DSC0005.png

  6>   docker run -it --name  ubuntu --net host ubuntu bash  运行一个容器 --net表示指定容器使用网络为host   这样容器会跟物理机使用相同的网络信息 会开启相同的网络端口   但是会发生资源争抢
DSC0006.png

  7>    docker run -it --name  vm1 --net none ubuntu bash  运行一个容器、网络信息为空    方便自定义配置
DSC0007.png

    对容器vm1的网络配置如下:
ip link add name veth0 type veth peer name veth1 创建容器虚拟网络接口
brctl  addif docker0 veth0 将一段接到本地docker0
ip link set  dev veth0 up
ip link set  dev veth1 up     开启接口端状态
docker inspect -f '``.`State`.`Pid`' vm1   过滤出容器vm1Pid5794
DSC0008.png

  ip netns  add test  添加网络命名空间test
  ip netns list    查看列表
  ln -s /proc/5794/ns/net  /var/run/netns/5794做软连接
             ip link  set veth1  netns 5794      将虚拟网卡接口veth1添加到5794
DSC0009.png

在容器中通过ip addr show可以看到   添加了一个设备veth1
DSC00010.png

ip netns exec 5794 ip addr add 172.17.0.10/24 dev veth1    在物理机上设置容器VM1的网络地址为172.17.0.10/24
           ip netns exec 5794 ip link set veth1 up     启用设备veth1
DSC00011.png

             在容器中查看
DSC00012.png

容器IP设置成功
  

  docker常用操作:
  Docker ps       查看当前正在运行的容器
  Docker  ps  -a   查看所有容器 (包括为运行的容器)
  Docker   ps  -q    查看容器ID
  Docker  stop/start   test    关闭或打开容器test这里可以使用容器名或者容器ID都可以  
  Docker logs  test  查看容器的日志
  Docker  attach   test      进入容器
  Docker  rm   test    删除容器
  Docker  stop   `docker   ps   -aq`    停止所有容器
  Docker  rm  `docker   ps   -aq`    删除所有容器    容器删除前需要先停止
  

运维网声明 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-482375-1-1.html 上篇帖子: docker1.12.0 swarm集群 下篇帖子: Docker基础知识(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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