13个命令
copy和add的区别
entry_point和CMD区别
上述2个指令只能执行最后一个,CMD命令只能出现一次,entry_point 能够获取docker run命令行的参数
第一步,编写dockerfile
tee Dockerfile<<EOF
FROM centos
WORKDIR /var/www/html
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
RUN yum -y nginx
ADD html.zip /var/www/html
COPY docker.html.conf /etc/nginx/conf.d
RUN echo " `which nginx` && tail -f /dev/null ">cmd
EXPOSE 80
RUN chmod +x cmd
CMD /var/www/html/cmd
EOF
#第二部,编译
默认的文本dockerfile文件的名字一定是Dockerfile
docker build -t nexus.ycjy.info/centos-nginx:1.0 .
[+] Building 79.9s (7/11) docker:default
=> [internal] load .dockerignore 0.2s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.3s
=> => transferring dockerfile: 396B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 13.6s
=> [1/7] FROM docker.io/library/centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 54.5s
=> => resolve docker.io/library/centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 0.8s
=> => sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 762B / 762B 0.0s
=> => sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc 529B / 529B 0.0s
=> => sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6 2.14kB / 2.14kB 0.0s
=> => sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1 83.52MB / 83.52MB 30.3s
=> => extracting sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1 15.4s
=> [internal] load build context 0.5s
=> => transferring context: 186B 0.0s
=> [2/7] WORKDIR /var/www/html
第三步
修改docker的配置文件,使得能够在不使用安装证书的情况下,能够使用https提交。
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.hub.docker.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
然后执行
systemctl deamon-reload && systemctl restart docker
第四步 上传镜像
先登录到公司私有docker仓库
docker login https://nexus.ycjy.info
username: yanfeng
passowrd:
login success
docker push nexus.ycjy.info/centos-nginx:1.0
注意
nexus3.19以后不再支持group docker 免费上传,需要PRO licences。可以选择低版本。
或者统一使用harbor,通过反向代理合并的一个域名下。
作者:严锋 创建时间:2023-10-08 10:48
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48