zoukankan      html  css  js  c++  java
  • 工作中Docker使用命令笔记


    docker安装与启动
    安装docker

    [root@localhost /]# yum -y install docker-io

    更改配置文件

    [root@localhost /]# vi /etc/sysconfig/docker

    other-args列更改为:other_args="--exec-driver=lxc --selinux-enabled"
    启动docker服务

    [root@localhost /]# service docker start
    重启docker
    service docker restart

    Starting cgconfig service: [ OK ]
    Starting docker: [ OK ]

    将docker加入开机启动
    [root@localhost /]# chkconfig docker on

    基本信息查看
    docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等

    [root@localhost /]# docker version
    Client version: 1.0.0
    Client API version: 1.12
    Go version (client): go1.2.2
    Git commit (client): 63fe64c/1.0.0
    Server version: 1.0.0
    Server API version: 1.12
    Go version (server): go1.2.2
    Git commit (server): 63fe64c/1.0.0

    1、进入容器命令:
    sudo docker exec -ti 64134af51c2b /bin/sh
    其中64134af51c2b表示要进入的容器名称
    2、退出容器:exit

    3、查看日志文件:tail -f xxx.log

    ssh ubuntu@172.16.200.59


    启动docker :service docker start

    docker下载的镜像存放地址:一般都是在/var/lib/docker/devicemapper/mnt目录下

    docker镜像文件的导出导入:
    可联网的虚拟机中先获取registry镜像,然后导出tar格式的镜像文件。
    docker save registry > /tmp/registry.tar
    在目标虚拟机中导入tar格式的镜像文件。
    docker load <registry.tar
    然后通过docker images 命令即可查看导进来的镜像文件了。
    启动容器:docker run IMAGE ID
    通过docker ps -a 查看所有正在运行的容器

    sudo docker run -i -t ubuntu /bin/bash
    这条命令的含义:
    首先,我们告诉 Docker 执行 docker run 这条命令,并且带上 -i -t 这两个参数。
    -i 标志保证容器中 STDIN 是开启的,虽然并没有附着在容器中;
    -t 标志要为新创建的容器分配一个伪 tty 终端,这样我们就能在新创建容器中使用 交互式 shell ;
    接下来,我们告诉 Docker 基于什么镜像来创建容器,实例中使用的是 ubuntu 镜像。
    随后, Docker 在文件系统内部用这个镜像创建了一个容器,该容器有着自己的网络、IP地址以及和宿主主机用来通信的桥接网络接口。
    最后,在新创建的容器中运行 /bin/bash 命令启动了一个 Bash shell.
    这样,容器创建完毕后,我们就可以看到容器中启动了shell .

    docker 移除一个容器;
    第一步:先停止该容器:docker stop 79072778a521
    第二步:移除该容器: docker rm 79072778a521

    进入容器的方法:1、attach ;3、exec
    首先不管采用那种方式,必须先起一个容器:创建一个守护态的Docker容器
    sudo docker run -itd ubuntu:14.04 /bin/bash
    使用docker ps -a 命令查看容器的id 44fc0f0582d9
    1、attach方法:
    sudo docker attach 44fc0f0582d9
    然后从[root@localhost /]变成了[root@44fc0f0582d9 /],这就说明进入了44fc0f0582d9容器
    进入容器后,输入ls命令,列出所有的文件夹,跟我们常用的系统一模一样:
    bin etc lib lost+found mnt proc run srv tmp var
    dev home lib64 media opt root sbin sys usr
    退出容器exit,这样又变成了[root@localhost /]
    2、使用exec:
    sudo docker exec -it 44fc0f0582d9 /bin/bash
    如果进入容器报错说容器没有启动,需要先启动,可以使用docker restart 44fc0f0582d9命令将44fc0f0582d9容器重启下,然后再使用进入容器命令。


    //////////////////////////////////////////////////////////////////////////
    基于ubuntu基础镜像创建一个nginx镜像
    1、首先进入ubuntu容器中,然后在该容器中创建一个nginx目录
    ubuntu@ubuntu:~$ mkdir nginx #创建nginx目录
    ubuntu@ubuntu:~$ cd nginx #进入目录
    ubuntu@ubuntu:~/nginx$ touch Dockerfile 执行Dockerfile文件

    Dockerfile文件:
    FROM ubuntu:14.04
    MAINTAINER Reed "reed@example.com"

    RUN apt-get update
    RUN apt-get -y -q install nginx
    RUN mkdir -p /var/www/html

    ADD global.conf /etc/nginx/conf.d/
    ADD nginx.conf /etc/nginx/nginx.conf

    EXPOSE 80
    对上面Dockerfile文件做一个解释:
    FROM 指定基础镜像,我们制做的镜像是在Ubuntu:14.04的基础上生成的。
    MAINTAINER 镜像制作人的信息
    RUN 指定创建镜像时执行的命令
    ADD 将本地文件添加到镜像中
    EXPOSE 容器开放80端口


    docker容器迁移:
    docker exoprt 容器id >ubuntu_wrong.tar #ubuntu_wrong.tar 是你自己给容器起的一个英文名字,方便识别
    du -sh ubuntu_wrong.tar
    默认是把ubuntu_wrong.tar拷贝到root根目录下下的;
    然后将该ubuntu_wrong.tar再拷贝到要迁移的服务器上。
    然后通过下面的命令:
    cat ubuntu_wrong.tar |sudo docker import - wr:latest
    其中wr是自己起的一个名字。latest表示最新,也可以指定一个版本。

    docker镜像迁移迁入:
    导出镜像文件:
    sudo docker save -o wrong-mysql.tar 114.113.1.101:6666/admin/commsrvmongodb:v3.4.82f5fd7
    其中114.113.1.101:6666/admin/commsrvmongodb是镜像的名称
    v3.4.82f5fd7是镜像的版本
    wrong-mysql.tar是迁移出来的名称,到当前路径下。

    导入镜像文件:
    sudo docker load -i wrong-mysql.tar
    必须在wrong-mysql.tar路径下面操作

    修改docker 的配置文件:cat /etc/sysconfig/docker
    将docker设为开机启动:chkconfig docker on


    宿主机和容器的文件相互复制
    1、从docker中拷贝数据到宿主机:
    首先在宿主机上通过sudo docker ps | grep demo
    查出demo的容器id:b2764cd71857
    然后在宿主机上执行下面命令:
    docker cp containerId:/file/path/within/container /host/path/target
    例如:
    sudo docker cp b2764cd71857:/home/logs/rm-service/log/zip /home

    2、从宿主机拷贝数据到docker中;
    sudo docker cp /home/ubuntu/wr/pm-adaptor.jar f3a2a81eb929:/home/zenap/pm-adaptor/pm-adaptor.jar

  • 相关阅读:
    15 手写数字识别-小数据集
    14 深度学习-卷积
    13-垃圾邮件分类2
    12.朴素贝叶斯-垃圾邮件分类
    11.分类与监督学习,朴素贝叶斯分类算法
    9、主成分分析
    7.逻辑回归实践
    8.特征选择,过滤式
    6.逻辑回归
    5.线性回归算法
  • 原文地址:https://www.cnblogs.com/wrong5566/p/6531737.html
Copyright © 2011-2022 走看看