第一種制作鏡像方式: centos7.5+vim+net-tools+iproute+sshd
-
啟動新容器
docker images查詢已存在的鏡像
docker run -it --name "centos7.5" [存在的鏡像的ID]
-
優(yōu)化yum源
mv /etc/yum.repos.d/*.repo /tmp
echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo -
安裝必須軟件包
yum install -y vim net-tools iproute openssh-* -y
-
啟動SSHD
mkdir /var/run/sshd
echo 'UseDNS no' >> /etc/ssh/sshd_config
sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd
echo 'root:123456' | chpasswd
/usr/bin/ssh-keygen -A
/usr/sbin/sshd -D注意: 以上操作做完之后,會一直不退出,需要用以下命令退回到宿主機,并不關閉容器
ctrl+p+q -
制作鏡像
docker commit ['step 1 name'] {'new name'}:{new tag}
eg: docker commit centos7.5 huojibufei/centos7_sshd:v1
第二種制作鏡像方式: centos7.5+vim+net-tools+iproute+sshd
cd /opt/dockerfile
vim dockerfile
FROM centos:7.5.1804
RUN mv /etc/yum.repos.d/*.repo /tmp
RUN echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo
RUN yum install -y openssh-server
RUN yum install -y openssh-clients
RUN yum install net-tools* -y
RUN yum install iproute-* -y
RUN mkdir /var/run/sshd
RUN echo 'UseDNS no' >> /etc/ssh/sshd_config
RUN sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd
RUN echo 'root:123456' | chpasswd
RUN /usr/bin/ssh-keygen -A
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
- docker build -t "huoji/centos7_sshd:v1" /opt/dockerfile
制作私有倉庫
-
配置私有倉庫
-
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/Registry:/var/lib/registry registry
ps:-v參數(shù)指定持久化地址 系統(tǒng)數(shù)據(jù)卷:容器的數(shù)據(jù)卷
vim /etc/docker/daemon.json
-
{
"registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"],
"insecure-registries": ["10.0.0.100:5000"]
}
systemctl restart docker
-
使用本地鏡像
-
制作本地鏡像并push到
docker tag nginx 10.0.0.100:5000/huoji/nginx:v1
docker images
docker push 10.0.0.100:5000/huoji/nginx:v1
-