您的位置 首页 docker

docker手动制作容器镜像

docker手动制作容器镜像

1.启动容器

docker run --name base -d centos:7 tail -f /etc/hosts

2.安装服务

进入容器

docker exec -it base bash

进入容器后 安装 Yum 源

先确定是否可以联网,(我这边刚开始不能上网, 重启linux 就可以了,好奇怪)

然后:

 curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install nginx

 

rm -rf /usr/share/nginx/html/* 

 

echo www.baimei.com > /usr/share/nginx/html/index.html

 

nginx -g 'daemon off;'  # 在前台启动nginx服务
我们在 另一个终端  评一下




然后 退出

exit 

这个时候上不去网了

 

3.将容器提交为镜像

docker container commit -a baimeidashu.com -m 'shoudong v0.1' base baimei-centos-nginx:v0.1
 # -a表示声明作者信息,-m表示声明注释信息。

 

4.查看镜像的详细信息

 

docker inspect baimei-centos-nginx:v0.1 

docker images

 

5.手动再次提交测试

 

docker run -d --name web2 baimei-centos-nginx:v0.1

这种方式,我们是访问不到服务的,因为 我们制作的镜像,  nginx  没有启动

要想启动需要给它 传递参数:

docker run -d  --name web3 baimei-centos-nginx:v0.1  nginx -g 'daemon off;'

再次 提交一个带 命令参数的  制作一个镜像

docker container commit web6 baimei-centos-nginx:v0.2

这次我们根据  带 参数nginx -g 'daemon off  的镜像,来启动一个容器。

看看能否正常 访问:

docker run -d --name web7 baimei-centos-nginx:v0.2

 

我们做一下 端口映射来启动

 

docker run -d -p 80:80 --name web8 baimei-centos-nginx:v0.2

 

到此为止,我们制作了自己的镜像文件了。

 


拓展,

如何 做多个 服务呢?

启动一个脚本就可以:

docker run -d --name start1 baimei-centos-nginx:v0.11 sh /start.sh

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章