• docker学习-qiang


    docker优势
    轻量级、资源损耗少、启动快、性能高、只能运行linux系统

    容器技术发展历程
    1.chroot技术
    新建一个子系统(拥有自己完整的系统文件)
    ldd /bin/ls(查看ls命令依赖的库文件)
    2.linux容器(lxc)-linux container
    namespaces命名空间、隔离环境、cgroup进程资源限制
    3.docker容器
    初期使用lxc二次开发,后期使用libcontainer

    docker加速器 #使用阿里加速更靠谱

    vim /etc/docker/daemon.json
    {"registry-mirrors":["https://registry.docker-cn.com"]}
    docker info 检查加速
    

    镜像管理

    docker search -搜索镜像
    docker pull -拉镜像,默认最新版latest
    docker image ls -镜像列表
    docker image save -镜像导出
    docker image load -镜像导入
    docker image rm -镜像删除
    

    容器管理

    run-创建并启动
    start-启动
    -d 后台运行
    -p 指定端口映射
    -P 系统自动指定端口映射
    -it 分配交互式终端
    --name 指定容器名称
    ctrl+d 退出容器
    -v 源地址(宿主机):目标地址(容器)
    -e 环境变量
    
    docker container ls    查看启动容器
    docker container ls -a 查看所有容器
    docker container start/restart/stop/kill/rm/rename 启动/停止/杀死/删除/重命名 容器
    

    进入正在运行的容器

    docker container attach 进入容器同一个终端,画面同步
    docker container exec -it name /bin/bash 使用exec分配tty进入容器
    /bin/bash 覆盖容器初始命令
    ctrl+p,ctrl+q悄悄退出
    

    容器网络
    默认容器网络-nat模式,172网段

    -p 80:80
    -p 514:514/udp 指定udp协议,默认tcp协议
    

    容器数据持久化

    docker container cp 宿主机目录 容器名:目录 -复制宿主机目录
    docker cp /data/docker/test01/ docker-centos01:/ttt
    docker run -d -v 源地址(宿主机):目标地址(容器) 容器名 -挂载主机目录,之后直接修改宿主机目录内容便可
    数据卷管理
    docker run -d -v 卷名:目标地址(容器) 容器名 -数据卷(第一次卷空,将容器数据拷贝至卷;若卷有数据则卷数据挂载到容器)
    docker volume inspect 卷名
    --volume-from 跟某一个已经存在的容器挂载相同的卷
    docker run -itd -v tes:/opt/ centos /bin/bash
    docker run -itd -v /data/docker/test/:/opt/ centos /bin/bash
    

    手动制作镜像

    docker run -it -p 81:80 centos /bin/bash
    yum install nginx -y
    nginx
    ctrl+d
    docker container commit nifty_lamarr centos8-nginx01
    docker image ls
    docker run -itd -p 81:80 centos8-nginx01 /bin/bash
    

    自动制作镜像dockerfile

    基础镜像信息            FROM
    制作镜像操作指令        RUN
    容器启动时执行初始命令  CMD [" "]
    docker image build -t 镜像名称 --network=host dockerfile路径
    

    root账户登录

    docker exec --user root -it mongo /bin/bash
    

    自动重启

    --restart unless-stopped 
    

    时间一致

    -v /etc/localtime:/etc/localtime:ro
    

    日志

    docker logs ID -f
    
  • 相关阅读:
    怎样查看Oracle的数据库名称sid
    request.getRemoteAddr request.getRemoteHost()
    Oracle中添加自动编号的序列
    google chrome 快捷键
    MyEclipse快捷键大全( 再排版)
    Java正则表达式应用详解
    Spring3.1 Cache注解
    Java本周总结1.
    jquery ui 自动补全
    用字符串的length实现限制文本框长度
  • 原文地址:https://www.cnblogs.com/kylingx/p/11968462.html
Copyright © 2020-2023  润新知