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

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

原文地址:https://www.cnblogs.com/WinkJie/p/13663906.html