zoukankan      html  css  js  c++  java
  • Docker镜像制作-使用容器制作镜像

    1 基于容器制作镜像

     ssh例子:
     [root@docker ~]# docker rm -f `docker ps -qa`
     [root@docker ~]# docker run -it --name "oldguo_sshv1" centos:6.9 /bin/bash

    # 登入系统设置密码, 配置本地局域网yum源后安装ssh服务并启动 [root@df8386465269
    /]# passwd mv /etc/yum.repos.d/*.repo /tmp echo -e "[ftp] name=ftp baseurl=ftp://10.0.0.110/pub/centos6 gpgcheck=0" > /etc/yum.repos.d/ftp.repo
    yum makecache fast && yum install openssh-server -y /etc/init.d/sshd start ----->重要:ssh第一次启动时,需要生成秘钥,生成pam验证配置文件 /etc/init.d/sshd stop
    echo "12345" | passwd root --stdin ---->设定root密码
    "hang" 运行sshd,并丢到后台 /usr/sbin/sshd -D ------>重要: 该命令会以前台方式执行启动ssh服务并夯住窗口(在启动容器时可指定命令) docker commit oldguo_sshv1 oldguo/sshd:v1
    # commit一个容器为镜像; docker commit 容器名 镜像名(oldguo/sshd):targ
    思考: 以上基于容器制作的镜像, 使用该镜像启动为容器后, 该容器只不过比原来的centos多了sshd服务, 并且该服务还没有启动(当然yum源也变了).
    因为我们启动容器只是单纯的启动了, 没有让容器执行任何进程, 如不使用it交互启动的话, 还是会在启动的瞬间就结束的.
    如何让其在启动后第一时间就执行我们指定的命令呢(比如启动ssh服务)?
    docker container run -d --name=name 容器id /usr/sbin/sshd -D  ------>指定启动容器时执行的命令

     2 centos6和7的区别

    1. 7中没有/etc/init.d/sshd start命令, 无法做生成密钥的操作, 如何解决?
      安装完上面的openssh-server服务后, 手动搞
      mkidr /var/run/sshd
      echo 'UseDNS no' >> /etc/ssh/sshd_config
      sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd
      echo 'root:12345' | chpasswd
      /usr/bin/ssh-keygen -A
    2. 3. 4.

    66

  • 相关阅读:
    初入职场的一些感悟
    疲惫于时间管理术-应该如何把握时间
    何为有效沟通
    powdesigner生成模型以后导入erwin大坑 oracle12c
    oracle 12c下载及安装全解析(踩坑注意)-win64-12102版本-2019-10-17
    聚集索引与非聚集索引的用法举例与使用注意
    十分钟,带你了解MobX 与 React
    GET https://pic.qyer.com/avatar/008/23/22/84/200?v=1469960206 403 (Forbidden) 图片防盗链
    writing
    使用github pages搭建博客
  • 原文地址:https://www.cnblogs.com/quzq/p/13442696.html
Copyright © 2011-2022 走看看