前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >把程序制作成docker镜像

把程序制作成docker镜像

作者头像
云计算小黑
发布2022-12-28 21:19:44
7280
发布2022-12-28 21:19:44
举报
文章被收录于专栏:小黑博客小黑博客

前言

docker相关命令: 点击

创建Dockerfile文件

先把程序单独放一个目录,这个app目录下面就是程序文件,我在这里面创建Dockerfile

l3odqct6.png
l3odqct6.png
代码语言:javascript
复制
cd app 
vim Dockerfile  #(这里第一个字母要大写)

FROM ubuntu:21.04 AS runtime                     #基本镜像

ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /app                                     #创建容器的运行目录
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime      #宿主机和容器时间同步
RUN echo 'Asia/Shanghai' >/etc/timezone                          #宿主机和容器时间同步,这个可以和上面写在一块
COPY . /app                                     #容器的运行目录
run apt-get update \                            #安装程序的相关依赖
    && apt-get install -y wget \
    && wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
    && dpkg -i packages-microsoft-prod.deb \
    && rm -rf packages-microsoft-prod.deb \
    && apt-get install -y apt-transport-https \
    && apt-get install -y vim \
    && apt-get update \
    && apt-get install -y dotnet-sdk-3.1
ENV ASPNETCORE_URLS=http://+:1066          
EXPOSE 1066                    #容器的端口

ENTRYPOINT ["dotnet", "Microsoft365_E5_Renew_X.dll"]          #执行程序


PS:参数的含义,自己自行百度吧,这里只大概说一下

打包成镜像

代码语言:javascript
复制
[root@VM-12-13-centos app]# docker build -t microsoft-365-e5:1.1.0 -f Dockerfile .    #docker build -t 镜像名:版本  -f  Dockerfile文件  注意这里有个'.' 不要忘记了
l3oe3z6c.png
l3oe3z6c.png
l3oegj8f.png
l3oegj8f.png

出现上图说明创建成功,然后看一下

代码语言:javascript
复制
docker images
l3oehkyv.png
l3oehkyv.png

创建容器

代码语言:javascript
复制
docker run -dit \
-v $PWD/Microsoft365_E5_Renew_X/app/Deploy/Config.xml:/app/Deploy/Config.xml \
-v $PWD/Microsoft365_E5_Renew_X/appdata:/app/appdata \
-p 1066:1066 \
--name Microsoft365 \
--restart always \
microsoft-365-e5:1.1.0

上传dockerhub

首先我们先创建一下账号 https://hub.docker.com/ 在Linux中登录

代码语言:javascript
复制
docker login

输入注册的用户和密码,然后我们先给镜像打个标签,因为上传格式为 用户名/镜像名:版本,其实在build的时候就可以命名成这样

代码语言:javascript
复制
docker tag  microsoft-365-e5:1.1.0    用户名/microsoft-365-e5:1.1.0

创建好之后,push一下,就完成了

代码语言:javascript
复制
docker push 用户名/microsoft-365-e5:1.1.0
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 创建Dockerfile文件
  • 打包成镜像
  • 创建容器
  • 上传dockerhub
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档