zoukankan      html  css  js  c++  java
  • Docker学习

    1.手动构建镜像
    获取一个启动的容器的PID
    [root@zabbix ~]# docker inspect --format "{{.State.Pid}}" 0d99c0183d3a
    14832
    进入到容器的空间里面
    [root@zabbix ~]# nsenter --target 14832 --mount --uts --ipc --net --pid
    [root@0d99c0183d3a /]#

    编写脚本进入到容器内

    #!/bin/bash
    #entercon.sh
    PID
    =`docker inspect --format "{{.State.Pid}}" $1` echo $PID nsenter --target $PID --mount --uts --ipc --net --pid

    2.Docker数据卷管理

    启动镜像

    docker run -it --name volume-test1 -h nginx -v /data1 daocloud.io/library/nginx

    查看卷的位置

    [root@zabbix yum.repos.d]# docker inspect -f {{.Volumes}} volume-test1

    map[/data1:/var/lib/docker/vfs/dir/29cc81c40023701c9d152d695d8f15285ee6244eab3d81db6873a036cbf52d14]

    map代表的含义是,在容器主机中(通过entercon.sh进入到容器中)生成了一个目录/data1,它和属主机的/var/lib/docker/vfs/dir/29cc81c40023701c9d152d695d8f15285ee6244eab3d81db6873a036cbf52d14这个目录是相通的,你在这里的位置里创建文件,在对应的地方都可以发现。

    我们现在需要实现,将本地的文件系统挂载到容器当中去

    docker run -it --name=volume-test2 -h nginx -v /opt:/opt daocloud.io/library/nginx

    启动一个主机名为nginx的容器daocloud.io/library/nginx,然后命名为volume-test2,这样就将本地的/opt目录挂载到了容器的/opt目录里面去了

    [root@zabbix ~]# docker run -it --name=volume-test3 -h volume1 -v /volume-test:/volume-test-container daocloud.io/library/nginx

    [root@zabbix ~]# docker run -it --name=volume-test4 -h volume2 --volumes-from volume-test3 daocloud.io/library/nginx

     docker镜像的构建方式:1,手动构建;2,Dockerfile构建

    手动构建的相关命令

    docker run --name nginx-man -it centos
    docker commit -m "my nginx" xxxxxxxxxxxx zhaoshundong/my-nginx:v2
    docker run -d -p 99:80 zhaoshundong/my-nginx:v2 /usr/local/nginx/sbin/nginx

  • 相关阅读:
    Flink 多流转换算子
    Flink 基本算子map、keyBy、sum、reduce
    Scala 调用方法时加不加小括号
    Hive rank函数开窗
    Hive 窗口函数
    Scala 集合Map的基本操作
    LOJ#2402. 「THUPC 2017」天天爱射击 / Shooting 整体二分+树状数组
    LOJ#106. 二逼平衡树 树套树
    LOJ#2340. 「WC2018」州区划分
    LOJ#2304. 「NOI2017」泳池(70pts) dp
  • 原文地址:https://www.cnblogs.com/python-study/p/6701050.html
Copyright © 2011-2022 走看看