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

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

 

 

 

posted @   WinkJie  阅读(1522)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示