美文网首页
Docker实践笔记

Docker实践笔记

作者: 西楼晴岚 | 来源:发表于2017-05-05 14:51 被阅读0次

    一,安装Docker,下载Docker CE(Community Edition)

    1.MAC环境

    https://store.docker.com/editions/community/docker-ce-desktop-mac

    2.Linux环境

    https://store.docker.com/editions/community/docker-ce-server-centos?tab=description

    3.Windows环境(Windows 10, Windows7)

    https://www.docker.com/products/docker-toolbox

    Wiki本地下载地址:DockerToolbox.exe

    安装DockerToolbox完成后,将boot2docker.iso置于

    C:\Users\Administrator\.docker\machine\cache\boot2docker.iso,路径名根据自己的操作系统用户名有所变化

    建议都使用Docker Toolbox,ToolBox会在虚拟机中创建Linux环境并运行Docker Engine

    DockerToolBox会使用boot2docker.iso在VirtualBox中创建一个Linux系统实例,

    当创建完成后,执行docker-machine ls命令查看default虚拟机已创建

    执行docker-machine ssh default进入虚拟机linux环境终端,即可执行docker命令

    Docker基础知识

    https://docs.docker.com/get-started/#container-diagram

    二,容器运行环境

    Host OS一般指Unix系的操作系统,Docker利用Linux环境提供Namespace资源隔离技术实现相互隔离的轻量虚拟化环境。

    三、Docker名词

    Image, 镜像

    Contianer, 容器,运行镜像时生成,可保存为镜像

    Docker Engine,Docker引擎

    Docker File, 镜像制作定义文件

    Docker Engine Swarm Mode,Docker引擎集群模式

    Docker Compose File,运行服务定义文件,yml格式的文件

    Registry,镜像仓库

    Official Registry, 官方镜像仓库,访问Docker Hub网站可查询

    Private Registry,私有镜像仓库,建立在本地网络用于快速传输镜像文件

    四、常用Docker命令

    docker ps,查看运行的容器

    docker ps -a,查看所有运行的容器

    docker ps --help,查看ps参数说明

    docker --help,查看所有docker命令的说明

    docker images,查看本地已经下载的镜像

    docker inspect [container-name],查看容器详细信息

    docker exec -it [container-name] /bin/bash,执行容器内部bash

    docker run [image-name],运行镜像

    docker rm [container-name],删除容器,通过docker ps -a命令查看所有容器,删除不再使用的容器,释放空间

    docker search [image-name],搜索官方仓库镜像名称

    docker swarm init,初始化建立docker集群

    docker service ls,查看运行在docker集群的服务

    docker node ls,查看集群节点信息

    Docker私有仓库

    在Docker Engine配置私有仓库地址,在Docker运行系统中修改配置文件/etc/docker/daemon.json,加入以下内容:

    {

    "insecure-registries":["10.129.26.1:5000"] ,

    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],

    "experimental":true

    }

    以上配置了一个私有仓库地址为10.129.26.1:5000,同时配置了一个镜像仓库的国内访问地址https://docker.mirrors.ustc.edu.cn。

    设置experimental为true时,可以使用docker引擎的实验功能

    在docker toolbox创建的虚拟机环境中可以尝试使用以下命令加入配置:

    sudo -i

    echo   {\"insecure-registries\":[\"10.129.26.1:5000\"] ,\"registry-mirrors\": [\"https://docker.mirrors.ustc.edu.cn\"],\"experimental\":true} >> /etc/docker/daemon.json

    exit

    重启boot2docker虚拟机

    五、示例

    示例1:运行一个Redis容器

    从官方仓库下载最新版本的redis镜像,本地运行redis镜像,创建redis容器在后台运行,暴露6379为服务访问端口,并命名容器为redis-one

    docker run --name redis-one -p 6379:6379 -d redis redis-server --appendonly yes

    关闭redis容器

    docker stop redis-one

    启动已经存在,再次启动容器

    docker start redis-one

    示例2:运行一个zookeeper容器

    创建最新版本zookeper镜像容器,在后台运行,并暴露2181端口作为服务访问端口

    docker run --name zookeeper-one -p 2181:2181 -d zookeeper

    docker start zookeeper-one

    执行以下命令查看本地镜像,可见redis:latest和zookeeper:latest两个镜像

    docker images

    示例3:运行一个RabbitMQ容器

    从私有仓库10.129.26.1:5000下载rabbitmq:management镜像,启动一个名为rabbit-one的容器,并暴露服务端口5671对应原服务端口5672,15672对应web界面服务端口;

    同时设置rabbitmq,hostname=localmq,user=localuser,password=123456,vhost=localvmq

    docker run --name rabbit-one -p 15672:15672 -p 5671:5672 --hostname localmq -e RABBITMQ_DEFAULT_USER=localuser -e RABBITMQ_DEFAULT_PASS=123456 -e RABBITMQ_DEFAULT_VHOST=localvmq -d 10.129.26.1:5000/rabbitmq:management

    示例4:运行一个Oracle容器

    从私有仓库10.129.26.1:5000下载wnameless/oracle-xe-11g镜像,运行名为oracle-one的容器并暴露1521位数据库服务访问端口

    docker run --name oracle-one -d -p 49160:22 -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true 10.129.26.1:5000/wnameless/oracle-xe-11g

    数据库访问信息:

    port: 1521

    sid: xe

    username: system

    password: oracle

    创建数据库

    使用SQL Developer工具连接到数据库,点击用户,创建新的schema(用户名和密码),并赋予connect和resource权限

    拷贝数据

    使用SQL Developer工具,使用Tools中Database Copy功能拷贝数据库

    如要比较数据库对象结构,可使用Tools中Database Diff功能进行比较

    关闭oracle容器

    docker stop oracle-one

    启动已经存在,再次启动容器

    docker start oracle-one

    相关文章

      网友评论

          本文标题:Docker实践笔记

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