zoukankan      html  css  js  c++  java
  • docker

    linux CentOS6.8 安装命令

    1、yum install -y epel-release

    2、yum install -y docker-io

    (无效的话,直接下载源安装:yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm)

    3、配置文件位置 /etc/sysconfig/docker (centOS7以后配置文件在/etc/docker/daemon.json)

    4、启动Docker后台服务命令:service docker start /restart

    5、docker version验证

    linux CentOS7安装命令

    官网安装文档

    https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce

    阿里云镜像加速

    在阿里云搜索 镜像加速器 

    docker配置文件修改 other_args="--registry-mirror=https://3kd4gi0e.mirror.aliyuncs.com"

    重启docker

    ps -ef|grep docker 验证是否成功

    测试例子

    docker run hello-world

    run命令逻辑

      命令:

    列出本地主机上的镜像
    docker images [-a,本地所有镜像(含中间镜像),-q只显示镜像id,-digests:镜像摘要信息  ,--no-trunc显示全部信息]
    docker image 镜像名称 显示指定镜像信息
    
    运行镜像
    docker run hello-world:lastest (镜像名称:版本号[可省略])
    
    查找镜像,是从gitHub上查。https://hub.docker.com
    docker seacher 镜像名称
    docker seacher -s 30 镜像名称  (查点赞数超过30以上的镜像)
    
    拉镜像
    docker pull 镜像名称
    
    删除镜像
    docker rmi 镜像名称   停止时
    docker rmi -f 镜像名称   强制删除
    docker rmi -f 镜像名称1 镜像名称2 删除多个
    docker rmi -f ${docker images -qa} 删除全部镜像
    docker run -it --name='镜像名称' 镜像id或名称   -P 随机端口映射  -p 指定端口映射 交互模式启动并启动伪终端(),并重命名镜像名字
    
    docker run -it -p 8888:8080 tomcat
    docker run -it -P tomcat
    
    进入容器
    docker attach 容器id 
    
    docker run -d 镜像名称 后台运行,没有窗口(守护式容器)
    docker exec -it 容器id /bin/bash
    
    docker ps 展示当前运行的容器
    docker ps -l 展示上一个运行的容器
    docker ps -n 3 展示上三个运行的容器
    docker ps -a 展示当前运行与过往的容器
    docker ps -q 只显示容器编号
    
    exit退出
    ctrl+p+q 暂时退出。返回上一层宿主机
    
    docker start/restart/stop/kill 镜像id或名称 启动容器
    
    docker rm 容器id或名称 删除已经停止的容器
    docker rm -f 容器id或名称 强制删除容器
    docker rm -f $(docker ps -a -q) 删除全部
    docker ps -a -q | xargs docker rm 删除全部
    docker logs -f -t --tail 查看容器日志
    
    生成新的镜像到公有云(阿里云-容器镜像服务-镜像列表)
    docker commit -m="描述" -a="作者" 容器ID  目标镜像名:tag
    
    docker容器数据卷 保存数据
    容器之间共享或重用数据
    卷中更改直接生效
    更改不会包含在镜像的更新中
    
    从容器内拷贝文件到主机
    docker cp 容器id:容器内路径 目的主机路径
    
    容器内添加数据卷
    docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名    #自带权限
    :ro 只读
    
    展示json形式的容器描述
    docker inspect 容器id
    
    mysql
    -e MYSQL_ROOT_PASSWORD = 123456  启动mysql时,密码
    
    dockerFile 是对镜像的描述文件
    指令:
    FROM:基础镜像
    MAINTAINER 镜像维护者信息
    RUN 容器构建时需要运行的命令
    EXPOSE 对外暴露的端口
    WORKDIR 进容器后的目录,工作目录
    ENV构建镜像环境中,设置环境变量
    ADD 拷贝加解压缩tar
    COPY拷贝 主机路径/容器路径
    VOLUME 容器数据卷
    CMD 容器启动时要运行的命令,可以有多个命令,但只有最后一个生效。会被docker run之后的参数替换
    ENTRYPOINT 容器启动时要运行的命令
    ONBUILD 在构建一个被继承的父镜像时运行命令。被继承后父镜像的onBuild触发
    
    提交下拉操作在阿里云仓库里有
    
    
    部署微服务
    jar包上传服务器,同目录创建Dockerfile文件
    内容:
    From java:8 #基于哪个镜像
    VOLUME /tmp #将本地文件夹挂载到当前容器
    ADD XX.jar /app.jar #复制文件到容器,重命名
    EXPOSE 8761 #暴露的端口
    ENTRYPOINT ["java","-jar","/app.jar"] #容器启动后执行的命令
    
    docker build -t XX:[tag] . #构建镜像,注意最后有点(docker当前目录)

  • 相关阅读:
    entity framework 缓存干扰的数据不一致问题
    async中await是干啥的,用不用有什么区别?
    await使用中的阻塞和并发
    Quartz.Net—MisFire
    Quartz.net misfire实践
    Quartz.NET 前一次任务未执行完成时不触发下次的解决方法
    Omni(USDT)钱包安装(ubuntu)
    USDT(omniCore)测试环境搭建
    WaitAll 和 WhenAll 的使用及区别
    C# 之 FileSystemWatcher事件多次触发的解决方法
  • 原文地址:https://www.cnblogs.com/cowshed/p/12460624.html
Copyright © 2011-2022 走看看