zoukankan      html  css  js  c++  java
  • Linux : Docker入门

    1.端口映射

    docker常用映射端口的方式进行部署, 例如:  docker run -p 8080:80 -d nginx    (把容器的80端口映射到宿主机的8080端口上)

    2.独立IP

    如果想要与宿主机在同一个网段中, 有独立的IP地址, 则可以使用 macvlan 技术来实现

    (1) docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.2 -o parent=ens33 -o macvlan_mode=bridge net1

    创建虚拟网络 net1 网段为192.168.0.0/24 网关为192.168.0.2 父网卡为ens33 macvlan的模式为bridge

    (2) docker run --net=net1 --ip=192.168.0.133 --name f1 -dt ubuntu-debootstra

    这样运行docker的时候则可以指定网络 net1 指定ip地址

    2.1小记

    (1) 使用  docker exec -it mynginx /bin/bash 在容器中执行命令 其中, -i:即使没有附加也保持STDIN 打开 -t:分配一个伪终端 mynginx容器名称或id,  /bin/bash 执行的命令

    (2) 使用 docker rmi [镜像名称:版本号]   来删除镜像, 如果镜像有容器在运行, 则需要先删除容器

    3.打包构建镜像

     将资源文件一以及Dockerfile放在同一目录下(或者使用-f指定Dockerfile文件位置), 然后运行  docker build -t [自定义镜像名称:标签] .                 (注意后面的点不要丢掉)

    Dockerfile例子:

    FROM openjdk:8u242-jdk
    
    MAINTAINER cccy0
    ADD app.jar app.jar
    
    EXPOSE 80
    ENTRYPOINT ["java","-Xmx300m","-Dserver.port=80","-jar","app.jar"]

    如果想要把镜像push到远程仓库中, 则需要先给镜像一个tag:

    docker tag cdf26cc71b50 registry.cn-shanghai.aliyuncs.com/cccy/openjdk-1.8:0.0.1

    其中, cdf26cc71b50 为镜像的id, registry.cn-shanghai.aliyuncs.com为远程仓库url, cccy为命名空间, openjdk-1.8为仓库名称, 0.0.1为版本号

    然后push到仓库中:

    docker push registry.cn-shanghai.aliyuncs.com/cccy/openjdk-1.8:0.0.1

  • 相关阅读:
    asp.net(.net 4.0)+ json 分页
    在两张表(A表和B表)里面找出A中不存在B表的记录
    linq to sql 的List<Table> 数据表缓存
    linq 并发冲突概念
    阿里RocketMq节约成本
    阿里巴巴java手册异常日志
    阿里巴巴java手册安全规约
    阿里巴巴java手册单元测试
    Spring boot自定义starter
    MongoDB权限
  • 原文地址:https://www.cnblogs.com/cccy0/p/12483921.html
Copyright © 2011-2022 走看看