一、制作一个只支持sshd服务的镜像
1):启动一个容器,并修改
docker run -it -p 1022:22 centos:6.8 /bin/bash
yum install openssh-server -y
echo 'root:123456'|chpasswd
/etc/init.d/sshd start
测试:ssh远程登录
2):将修改后的容器,保存为镜像
docker commit friendly_swartz centos6-ssh
3)测试新镜像,sshd是否可用
docker run -d -p 1122:22 centos6-ssh:latest /usr/sbin/sshd -D
二、制作了一个支持sshd和httpd双服务的镜像
1):启动一个容器,并修改
docker run -d -p 1122:22 centos6-ssh:latest /usr/sbin/sshd -D
yum install httpd -y
/etc/init.d/httpd start
vi /init.sh
#!/bin/bash
/etc/init.d/httpd start
/usr/sbin/sshd -D
chmod +x /init.sh
2):将修改后的容器,保存为镜像
docker commit 11bf5984784a centos6-httpd
3)测试新镜像,检测sshd和httpd是否可用
docker run -d -p 1222:22 -p 80:80 centos6-httpd:latest /init.sh
三、docker私有仓库registry
1)启动registry容器
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry
2)修改/etc/docker/daemon.json配置文件
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"]
}
3)重启docker服务
systemctl restart docker
4)为镜像打标签
docker tag centos:6.8 10.0.0.11:5000/oldboy/centos:6.8
5)push推送镜像
docker push 10.0.0.11:5000/oldboy/centos:6.8
四、使用Dockerfile完成kodexplorer网盘项目
FROM centos:6.9
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && \
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo && \
yum install nginx php-fpm php-gd php-mbstring.x86_64 -y &&\
yum clean all
ADD nginx.conf /etc/nginx/nginx.conf
ADD www.conf /etc/php-fpm.d/www.conf
WORKDIR kodexplorer.tar.gz /code
RUN chown -R nginx.nginx . &&\
init.sh /init.sh
EXPOSE 80
ENTRYPOINT ["/bin/bash","init.sh"]
网友评论