• Docker安装及基本使用方法


    Docker安装

    CentOS6上安装Docker

    # yum -y install epel-release

    # yum -y install docker-io

    CentOS7上安装Docker

    # yum -y install docker

    启动Docker

    # /etc/init.d/docker start

    如果启动后无进程,日志中出现:

    /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

    解决办法:

    # yum upgrade device-mapper-libs

    Docker镜像管理

    # docker pull centos //从docker.com获取centos镜像

    # docker images //查看本地都有哪些镜像

    # docker tag centos fansik //为centos镜像设置标签为fansik,再使用docker images查看会多出来一行,该行的image id和centos的一样

    # docker search [image-name] //从docker仓库搜索docker镜像,后面是关键词

    # docker run -t -i centos /bin/bash //用下载到的镜像开启容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,要把-i和-t放在镜像名字前面

    当镜像发生修改后,我们可以把镜像提交重新生成一个新版本进行再本地

    docker ps //查看运行的容器,加上-a选项可以查看没有运行的容器

    docker rmi centos //用来删除指定得镜像,其中后面的参数可以是tag,如果是tag时,实际上删除的是该tag,只要改镜像还有其他tag,就不会删除该镜像,当后面的参数为镜像ID时,则会彻底删除整个镜像,连同所有标签一同删除

    # docker tag centos centos:fansik创建一个REPOSITORY为centos,TAG为fansik的镜像

    # docker rmi centos:fansik删除REPOSITORY为centos,TAG为fansik的镜像

    Docker镜像使用容器生成新的镜像

    • 进入之前创建的容器
    1. # docker ps -a;查看有哪些容器
    2. # docker start dad4e9070e2b启动id为dad4e9070e2b的容器(id可以简写为前几位)
    3. # docker exec -it dad4e9070e2b /bin/bash进入到容器中
    4. 里面可以直接使用yum安装需要的软件
    • 运行docker run后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建的新的镜像
    • docker commit -m "change somth" -a "somebody info" container_id(通过docker ps -a获取id) 新镜像名字
    • 例如:docker commit -m "install httpd" -a "Aming" dad4e9070e2b aming/centos
    • 这个命令有点像svn的提交,-m加一些改动信息,-a指定作者相关信息  dad4e9070e2b为容器id,再后面为新镜像的名字

    Docker基于本地模板导入创建镜像

    • 模块提取,可以直接在网上下载一个模块(可以复制链接然后直接wget)http://openvz.org/Download/templates/precreated
    • 导入镜像的命令是:# cat ubuntu-15.10-x86_64-minimal.tar.gz | docker import - ubuntu
    • 把现有镜像,导出为一个文件:# docker save -o fansik-httpd.tar httpd(仓库名或者镜像ID)
    • 用备份文件恢复本地镜像:# docker load --input fansik-httpd.tar或者:# docker load < fansik-httpd.tar
    • 把自己的镜像上传到dockerhub官方网站,但需要先注册用户docker push image_name
  • 相关阅读:
    【BZOJ-4592】脑洞治疗仪 线段树
    【BZOJ-1369】Gem 树形DP
    【BZOJ-3696】化合物 树形DP + 母函数(什么鬼)
    【BZOJ-2435】道路修建 (树形DP?)DFS
    【BZOJ-4590】自动刷题机 二分 + 判定
    【BZOJ-4591】超能粒子炮·改 数论 + 组合数 + Lucas定理
    【BZOJ-1492】货币兑换Cash DP + 斜率优化 + CDQ分治
    【BZOJ-1324】Exca王者之剑 最小割
    【BZOJ-1017】魔兽地图DotR 树形DP + 背包
    【BZOJ-1131】Sta 树形DP
  • 原文地址:https://www.cnblogs.com/fansik/p/5526938.html
Copyright © 2020-2023  润新知