• window版本安装
    进入 DaoCloud Docker 极速下载
    开启 bios中cpu 虚拟化 Intel Virtualization Technology
    进入控制面板 - > [程序] - > [Windows功能],并完全取消选中所有与Hyper-V相关的组件
    打开配置窗口后左侧导航菜单选择Daemon,在Registry mirrors 一栏中填写加速器地址
    "https://registry.docker-cn.com","http://hub-mirror.c.163.com" ,之后点击Apply保存后Docker就会重启并应用配置的镜像地址了
  • linux版本在centos安装
    #Docker 要求 CentOS 系统的内核版本高于 3.10
    uname -r #初步安装和启动docker
    yum -y install docker #启动
    systemctl start docker #docker开机自启动
    systemctl enable docker(或者用sudo +…)
    #设置镜像
    vi /etc/docker/daemon.json{"registry-mirrors": ["https://registry.docker-cn.com"]} #重启docker
    systemctl daemon-reloadsystemctl restart docker.service
  • docker命令
    #搜索镜像
    docker search image_name #下载镜像
    docker pull centosdocker pull centos:latest #查看镜像列表
    docker images #删除单个镜像
    docker rmi image-id #创建容器run命令
    -d: 后台运行容器,并返回容器ID;
    -i: 以交互模式运行容器,通常与 -t 同时使用;
    -p: 端口映射,格式为:主机(宿主)端口:容器端口
    docker run -it centos /bin/bashdocker run --name mydocker -it centos /bin/bash #删除单个容器
    docker rm container-id 删除全部容器 在命令提示符中运行“Powershell”,将命令提示符的运行模式修改为Powershell模式;
    docker rm $(docker ps -aq) #查看运行中的容器
    docker ps #查看所有容器
    docker ps -a #停止、启动、杀死一个容器
    docker stop Name/IDdocker start Name/IDdocker kill Name/IDdocker restart name #进入容器
    docker exec -it centos /bin/bash 如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,
    #更新容器内存大小
    docker update -m 2048m <name>docker update -m 1024m --memory-swap 1024m name #更新容器cpu --cpuset-cpus="1,3"在 cpu 1 和 cpu 3
    #–cpuset-cpus=“0-2” 在 cpu 0、cpu 1 及 cpu 3 上执行
    docker update --cpuset-cpus="0" mycentos #查看容器占用资源状态
    docker stats #查看容器运行在那个cpu上,进入容器后
    #查看cpu个数# lscpu 查看内存 free -m
    #可以用于 查看 当前线程 对应绑定的 在 哪个核上面。taskset -pc PID
    taskset -cp 1 #映射端口
    docker run -i -t -d -p 9000:9000 --name=test centos #挂载目录
    docker run -it -v /test:soft centos /bin/bashdocker run -it -d -p 8090:80 -p 27017:27017 -v /opt/marketing:/soft --name marketing centosdocker run -it -d -p 8090:80 -p 27017:27017 -p 6379:6379 -v /opt/marketing:/soft --name marketing centos
  • 构建镜像
    docker hub登陆
    docker login 推送(注册账号,本地登陆)
    docker push yadockeray/test镜像名(推送新增更新本地有的版本)
    docker push yadockeray/test:1.0.0(只推送指定版本)
    docker pull yadockeray/test:1.0.0(下载指定版本,不加tag下载latest版本)
    #导出导入镜像
    docker save > /opt/centos.tar centos:latest(name:tag)
    docker load < centos.tar #导入导出容器
    docker export > nginx-test.tar nginx-test nginx-test.tar为目标文件,nginx-test是源容器名(name)
    docker import nginx-test.tar nginx:imp commit构建
    #commit,-a :提交的镜像作者;-m :提交时的说明文字;不加:tag版本为latest,不保存挂载目录文件
    docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1(name:tag)
    Dockerfile来构建镜像
    mkdir dockerfilecd ./dockerfilevi Dockerfile ubuntu
  • # Version: 0.0.1
    FROM ubuntu
    MAINTAINER slt680@163.com
    RUN apt-get update \
    	&& apt-get upgrade -y \
    	&& apt-get install -y nginx
    RUN echo "Hi, I am your contrainer" > /usr/share/nginx/html/index.html
    EXPOSE 80 443
    CMD ["nginx", "-g", "daemon off;"]
  • centos
  • FROM centos
    MAINTAINER slt680@163.com
    RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm \
    	&& yum install -y nginx 
    EXPOSE 80 443
    CMD ["nginx", "-g", "daemon off;"]
  • docker build -t yadockeray/mynginx .docker run -d -p 80:80 -p 443:443 --name slt_nginx yadockeray/mynginx dockerfile中未加CMD [“nginx”, “-g”, “daemon off;”]时
    docker run -d -p 80:80 --name slt_nginx yadockeray/mynginx nginx -g "daemon off;"curl localhost
  • logs
    docker logs [OPTIONS] CONTAINER Options:
    –details 显示更多的信息
    -f, --follow 跟踪实时日志
    –since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
    –tail string 从日志末尾显示多少行日志, 默认是all
    -t, --timestamps 显示时间戳
    –until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
    docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID查看指定时间后的日志,只显示最后100行
    docker logs --since 30m CONTAINER_ID查看最近30分钟的日志
    docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID查看某时间段日志
  • 容器安装工具
    #使用systemctl来启动服务
    docker run -tid --name hadoopbase centos /usr/sbin/init #-bash: service: command not found
    yum install initscripts #ssh安装
    rpm -qa | grep sshyum install openssh-server/etc/init.d/sshd status 或者(service sshd status)
    systemctl start sshd.servicesystemctl restart sshd.service #容器拷贝
    docker cp /usr/downloads/nginx-1.14.2.tar.gz supply-marketing:/home #拷贝容器
    docker cp supply-marketing:/home /usr/downloads/nginx-1.14.2.tar.gz #linux远程拷贝
    scp /opt/centos.tar root@192.168.0.1:/opt/ #zip解压缩
    yum install -y unzip zip;
  • linux修改时区
    设置timezone的时区
    sudo timedatectl set-timezone 'Asia/Shanghai' 或者
    echo "Asia/Shanghai" > /etc/timezone 设置时间
    rm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • stress测试