问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Docker中如何定制运行容器镜像

发布网友 发布时间:2022-02-27 00:56

我来回答

1个回答

热心网友 时间:2022-02-27 02:25

1.先下载centos镜像
[root@docker ~]# docker pull centos
2.启动容器并进行配置
启动容器,
[root@docker ~]# docker run -it -d --name test-centos1 centos
d72250ecaa5e3e36226a1edd749f494d9f00eddc4143c81ac3565aa4e551791a
命令注释:-it : 进行交互式操作
-d : 等同于 -d=true,容器将会在后台运行,不然执行一次命令后,退出后,便是exit状态了。
--name : 容器启动后的名字,默认不指定,将会随机产生一个名字。或者使用 -name="containers_name"
centos:使用的镜像名称
进入容器,安装ssh server,以及配置开机启动
[root@docker ~]# docker exec -it test-centos1 /bin/bash
[root@d72250ecaa5e /]# ifconfig
bash: ifconfig: command not found
注:命令最后参数 /bin/bash: 指进入容器时执行的命令(command)
我们检查了下容器,暂时安装以下必用的软件吧 net-tools,openssh-server
[root@d72250ecaa5e /]# yum install openssh-server net-tools -y
创建ssh 所需的目录,并在根目录创建sshd 启动脚本
复制代码
[root@d72250ecaa5e /]# mkdir -pv /var/run/sshd
mkdir: created directory '/var/run/sshd'
[root@d72250ecaa5e /]# cat /auto_sshd.sh
#!/bin/bash
/usr/sbin/sshd -D
[root@d72250ecaa5e /]# chmod +x /auto_sshd.sh
复制代码
修改容器内root 的账户密码
[root@d72250ecaa5e /]# echo "root:iloveworld" | chpasswd
生成ssh 主机dsa 密钥(不然ssh 该容器时,会出现错误。)
[root@d72250ecaa5e /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
[root@d72250ecaa5e /]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
我们加一个history记录的时间功能吧,这样方便后期查看
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile
OK,配置基本完毕咯。清理命令历史纪录,之后退出容器。现在可以生成一个新的docker 镜像了。

3.配置完成后,进行打包成新的镜像
复制代码
[root@docker ~]# docker commit test-centos1 centos_sshd:7.0
sha256:6e3330b30dfff5f029f102874e54cfffffbc37dcf2a4eb7304c817148fbc944d
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_sshd 7.0 6e3330b30dff 8 seconds ago 310.1 MB
docker.io/ubuntu latest e4415b714b62 12 days ago 128.1 MB
复制代码
命令注释:commit: 提交一个具有新配置的容器成为镜像,后面跟容器的name 或者容器Id ,最后是生成新镜像的名字
更新:这条命令更方便以后启动,如下:
[root@docker ~]# docker commit --change='CMD ["/auto_sshd.sh"]' -c "EXPOSE 22" test-centos1 centos_sshd:7.0
sha256:7bb4efd82c4ff1f241cbc57ee45aab1b05d214b1e9fcd51196696c67d480e70b
命令注释: --change : 将后期使用此镜像运行容器时的命令参数、开放的容器端口提前设置好。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
啤酒肚能减下去吗 一个礼拜怎么减掉啤酒肚 Win10桌面便签小工具怎么添加?一招轻松搞定! win10好用的桌面便签 手机便签APP哪个好用 桌面便签备忘录怎么添加设置? 郑州科技学院王牌专业排名一览表 跳用英语怎么说你知道该如何正确使用吗? jump基本要点 郑州科技学院视觉传达怎么样 郑州科技学院报的视觉传达专业,进入大学后能转专业么 docker容器内运行的进程,容器外也运行? docker怎么用镜像启动容器 如何在docker容器中运行一个程序 我用手机开通的优酷会员,该怎样用手机取消自动续费呢?我是联通手机 中国移动流量费超出被扣500元,有什么办法吗. 中国移动流量套餐超出扣钱怎么办 手机流量超了欠费,怎么补救? 移动流量用超了 已欠费300+ 怎么补救 苹果手机怎么去除图标上的红点? iphone怎么消除设置的红点 我朋友流量用超了,扣了几十话费,怎么补救?移动。。。 移动手机流量用超了,扣了一百多块,怎么办 京东京东金条订单在哪里看 移动流量超过扣的话费怎么要回来?求大师帮忙 流量超太多扣了很多话费,怎么补回来,移动流量超出 哦请问一下我的健康宝不小心的小程序删掉了怎么能找回来呢_问一问 请问大家:微信中的小程序没有了,怎么找回? 中国移动流量费超出被扣好几百怎么办???? 移动流量超出很多怎么办? 移动套餐超了扣费了怎么办? 对于一个已有的docker容器,怎么添加运行参数 docker 怎么把宿主机的文件拷贝到运行的容器中 如何在Docker容器中运行Metasploit 我用的Windows下的docker,运行了一个容器,怎么在Windows下访问容器 柚子皮怎么做不会苦 快手直播伴侣投屏直播选择电脑麦克风录音 直播间听不到游戏声音 怎么弄? 柚子皮怎么加工才好吃,而且不苦 怎么除去柚子皮苦味 为什么柚子皮那么苦 柚子糖怎么做才不苦 煲汤加柚子皮多了发苦怎么办 怎么做蜂蜜柚子茶不苦 红米微信怎么查找以前用过己经删除忘记名子的小程序两年前用过? 柚子太酸了,又不舍得丢怎么吃? 柚子皮可以吃吗?? 怎么处理柚子皮 京东手机客户端怎么查看自己支持的京东众筹? stp怎么打开 cad如何打开stp 抖音如何清除自己的喜欢?