美文网首页
1.1DOCKER(2) 功能

1.1DOCKER(2) 功能

作者: Plenari | 来源:发表于2019-07-20 17:37 被阅读0次

    docker最重要的概念:

    • image就像程序里的类,container就像程序里的实例。可以每次运行都新建一个实例,也可以一直用同一个实例。每次都新建实例保证运行环境永远一致。用同一个实例保证前后具有连续性。当然也可以把实例commit为新的版本,然后每次都用新版本的images。
    • 解决了计算环境的问题就剩文件的问题。只要我们每次运算后的结果保存的文件里,就不会随着container消失而消失。

    1.希望的几点功能:

    * 容器和本机共享文件夹,这样可以在本机上编辑文件
    * 容器可以运行本机编辑过的python文件
    * 容器可以打开jupyter notebook ,并远程编辑调试
    * 容器在运行过程中可以打开过个窗口(exec实现),因为我们可能还在同一个容器需要执行其他命令。
        * 比如运行jupyter notebook 的同时用python 运行文件。
    * 容器的互联。尤其是数据库容器和计算容器的链接。
    

    2. 常用命令总结:

    • 显示镜像 docker images
    • 显示容器 docker ps -a
    • 搜索镜像 docker search image_name
    • 下载镜像 docker pull image_name
    • 显示docker状态docker stats
    • 容器拷贝文件,如果有共享文件夹就不需要这个了。
      • docker cp <containerId>:/file/path/within/container /host/path/target
    • 进入正在运行的容器
      • 1:docker attach id 刚方法进入之后,exit退出就会导致容器stop,最好不要使用
      • 2:docker exec -it containerID /bin/bash 这个命令exit退出,ok容器还在运行
    • start 和run 的区别

    第一次启动用docker run,之后用docker start.

    docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。

    • 清理容器
      杀死所有正在运行的容器
      docker stop$(docker ps -a -q)
      删除所有已经停止的容器
      docker rm $(docker ps -a -q)
      删除所有未打 dangling 标签的镜像
      docker rmi $(docker images -q -f dangling=true)
      删除所有镜像
      docker rmi $(docker images -q)
    • 参数总结:
      • --user root | 用root 账号登录容器
      • -P |使用随机端口,使用docker ps -a查看端口
      • -p 7777:8888 |容器的8888映射的本机的7777
      • -v /e/docker:/home/work |把本机的docker目录挂载到容器的work下,只有登录容器root账号才能成功挂载。关于docker toolbox 的设置:
      • --rm |容器退出时即删除。数据不会丢失。
      • --name test |重命名为test这样操作起来不需要id了,不能重复
      • --privileged=True |文件夹访问被拒绝,可以用特权启动。

    3. docker toolbox

    win10,7,8,mac都是利用docker toolbox开一个虚拟机,然后在虚拟机里打开容器,所以ip地址是虚拟机的ip地址。

    4.images的迁移

    • docker save -o tensorflow.tar.gz 271ae1439df0
    • docker load -i tensorflow.tar.gz
    • load之后一般没有名称和tag,需要手动添加:
      docker tag containerID username/tensorflow:v1

    5.docker在centos的离线安装

    tar xzvf docker.tar.gz
    sudo cp docker/* /usr/bin
    sudo dockerd &

    docker 安装

    6.关于selinux

    • 还有一种临时方案
      setenforce 1 开启
      setenforce 0 关闭

    7.Docker 加速器值得拥有

    一行一个,适用于docker toobox ,加速器地址可以是阿里云提供的也可以是daocloud提供的

    • docker-machine ssh default

    • sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速器地址 |g" /var/lib/boot2docker/profile

    • exit

    • docker-machine restart default7

    相关文章

      网友评论

          本文标题:1.1DOCKER(2) 功能

          本文链接:https://www.haomeiwen.com/subject/xwmulctx.html