美文网首页
docker 基础入门(一)

docker 基础入门(一)

作者: 不器1843 | 来源:发表于2016-11-17 14:31 被阅读0次

    1. 验证准备

    标准安装Docker的话需要Linux内核大于3.10版本的64位操作系统. 因为之前的Linux内核版本对于执行Docker的一些功能还不够完善.

    $ uname -r
    
    3.19.0-49-generic
    

    对于Ubuntu 15.10 & 14.04的系统上来安装Docker的话推荐使用linux-image-extra 来安装Linux内核.

    $ sudo apt-get install linux-image-extra-$(uname -r)
    

    2. 添加Docker Apt Repo 源

    首先导入docker的GPG key来验证签名,使用apt-get即可.

    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    

    创建一个新的apt 配置文件到 /etc/apt/sources.list.d/docker.list

    对于Ubuntu Wily 15.10

    deb https://apt.dockerproject.org/repo ubuntu-wily main

    对于Ubuntu Trusty 14.04 (LTS)

    deb https://apt.dockerproject.org/repo ubuntu-trusty main

    3. 安装Docker

    确保系统中的repositories是最新的,安装之前把之前的Docker清掉.

    $ sudo apt-get purge lxc-docker
    

    再使用下面的命令来升级apt安装Docker到系统.

    $ sudo apt-get update
    $ sudo apt-get install docker-engine
    $ sudo curl -sSL https://get.docker.com/ | sh
    

    成功完成安装Docker引擎之后,我们开启Docker服务.

    $ sudo service docker start
    
    

    4. 管理Docker容器

    搜索Docker镜像
    首先我们doDocker hub搜索下Docker容器镜像,下面的命令可以列出Ubuntu所有的镜像

    docker search ubuntu

    下载Docker镜像

    下载就在github上下载Docker容器.

    $  docker pull ubuntu
    
    latest: Pulling from library/ubuntu
    
    fa5be2806d4c: Pull complete 
    b4af4261cb15: Downloading [==>               ] 3.779 MB/70.55 MB
    5d358abc5d9c: Download complete 
    2933d50b9f77: Download complete 
    

    确保系统成功下载了上步的镜像. 【 列出存在的镜像 】

    docker images

    $ docker images 
    
    REPOSITORY  TAG            IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu      latest         36248ae4a9ac        7 days ago          188 MB
    

    A. 使用镜像发布新的容器(基本方法)

    最后使用上面下载下来的镜像发布一个新的Docker容器.下面的命令会发布一个新的容器并且可以使用/bin/bash进入查看.

    $ docker run -i -t ubuntu /bin/bash 
    

    B. 使用镜像发布新的容器(端口指定)pull:从一个Docker的仓库服务器下拉一个镜像或仓库;

    push:将一个镜像或者仓库推送到一个 Docker 的注册服务器;
    【-d 进程守护,后台运行】【 -p 端口映射 -P 随机端口】【-v 映射本地目录到docker nginx 目录 】【--name 自建容器名称】【 /bin/bash shell交互】

    #docker run -d -p 8080:80 -p 3306:3306 -v /var/www/:/usr/share/nginx/html/  --name my-lnmp bin/bash 
    

    验证完所有的Docker容器之后,使用下面的命令列举主机上正在运行的容器.

    $ docker ps
    
    CONTAINER ID     IMAGE     COMMAND        CREATED        STATUS        PORTS    NAMES
    f2582758af13     ubuntu    "/bin/bash"    2 hours ago    Up 2 hours             first_ubuntu
    
    默认情况下上面的命令只会列出当前所有正在运行的containers. 如果要列出全部的容器(包含停止了的)那就使用这个命令.
    
    $ docker ps -a
    

    启动/停止/进入Container

    使用下面的命令你可以启动停止和进入到任何的容器去

    启动

    $ docker start <CONTAINER ID>|<NAMES>
    

    停止

    $ docker stop <CONTAINER ID>|<NAMES>
    

    重命名一个容器;

    $ docker rename <CONTAINER ID>|<NAMES>
    

    重启一个运行中的容器;

    $ docker restart <CONTAINER ID>|<NAMES>
    

    将容器打包成镜像

    docker commit <CONTAINER ID> mynewimage
    

    依附到一个正在运行的容器中

    $ docker attach <CONTAINER ID>|<NAMES>
    

    其他命令

    logs:获取容器的 log 信息;
    network:管理 Docker 的网络,包括查看、创建、删除、挂载、卸载等;
    node:管理 swarm 集群中的节点,包括查看、更新、删除、提升/取消管理节点等;
    

    创建容器 laravel

    docker run -dit -p 80:80 -p 3306:3306 -v /mydata/apps/:/apps/ --name testDocker registry.cn-hangzhou.aliyuncs.com/kfk/nginx-mysql-php7-composer:laravel /bin/bash
    

    进入容器

    docker exec -it testDocker  /bin/bash
    

    mysql 授权外网访问

    mysql -u root -p
    #输入密码
    #切换数据库
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'oMLQ813d7SuzoXUQ' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
    service mysql stop
    service mysql start 
    

    相关文章

      网友评论

          本文标题:docker 基础入门(一)

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