• Linux之Docker手动创建Docker容器


    咱虚拟机多,硬盘大,CPU好,任性,怎滴?。

     

    1.手动制作docker镜像

    1)启动一个基础容器

      docker run -it centos:6.9 yum

    2)在容器中安装服务

    curl -o /etc/yum.repos.d/CentOS-Base.repo

    http://mirriors.aliyun.com/repo/Centos-6.repo

    yum install openssh-server -y

    service sshd restart

    echo '123456'|passwd --stdin root

    3)把已经安装好服务的容器,提交为镜像

    docker container commit 5617e5d6284b centos6.9_ssh:v1

    4)测试镜像的功能:

    docker run -d -p 1022:22 centos6.9_ssh:v1 /usr/sbin/sshd -D

    2. 手动制作一个支持SSh+nginx的镜像

    1)启动一个基础容器

      docker run -it -p 80:80 -p 1023:22 centos6.9_ssh:v1 /bin/bash

    2)在容器中安装服务

    echo '192.168.15.84 mirrors.aliyun.com ' >>/etc/hosts (生产中可省)

    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    yum install nginx -y

    3)把已经安装好服务的容器,提交为镜像

    docker commit ea6a76ced04b centos6.9_ssh_nginx:v1

    添加了一个vi /init.sh

    #!/bin/bash

        service sshd restart

        nginx -g 'daemon off;'

    docker commit ea6a76ced04b centos6.9_ssh_nginx:v2

    4)测试镜像的功能:

    docker run -d -p 1025:22 -p 82:80 centos6.9_ssh_nginx:v2 /bin/bash /init.sh

    docker ps -a -l  #查看最新执行的

    补充:

    5)自定义容器镜像的密码:

      docker exec -it e267816e4187e /bin/bash

      vi /init.sh

      #!/bin/bash

      echo "SSH_PWD" |passwd --stdin root

      service sshd restart

      nginx -g 'daemon off;'

      read escape sequence  #重新提交镜像

      docker commit e267816e4187e centos6.9_ssh_nginx:v3

      docker run -d -p 1026:22 -p 86:80 -e "SSH_PWD=1qwe@ASD" centos6.9_ssh_nginx:v3

      /bin/bash /init.sh

    ===================================================================

  • 相关阅读:
    什么是模板方法模式?
    在多线程环境下,SimpleDateFormat 是线程安全的吗?
    抽象类是什么?它与接口有什么区别?你为什么要使用过 抽象类?
    依赖注入和工程模式之间有什么不同?
    什么时候使用访问者模式?
    Java 中,受检查异常 和 不受检查异常的区别?
    说出 5 个 JDK 1.8 引入的新特性?
    什么是领域驱动设计?
    列举 IoC 的一些好处?
    什么是 Spring 配置文件?
  • 原文地址:https://www.cnblogs.com/WinkJie/p/13663906.html
Copyright © 2020-2023  润新知