docker的python与go镜像的制作

简介: docker的python与go镜像的制作
本文内容

1、如何将python运行环境打包成docker镜像。

2、如何制作一个具有golang的docker镜像。

1、python环境

创建python目录,编写Dockerfile文件

在~/目录下创建python目录、编写Dockerfile文件

mkdir  python
vim Dockerfile

Dockerfile文件内容如下(看注释内容):

# docker pull 拉取ubuntu为系统
FROM ubuntu:18.04
# 镜像作者
MAINTAINER zhang
# 修改国内源
RUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list
# 执行命令
RUN apt-get update
RUN apt-get upgrade -y
# 安装python环境
RUN apt-get install python3  -y
# 定制工作目录
WORKDIR /root/python3/src/
ENTRYPOINT ["python3"]

构建镜像:

docker build -t ubuntu-python:v1.0 .

查看镜像:

docker image ls

使用镜像:

docker run --rm ubuntu-python:v1.0
2、制作go的镜像

创建go目录,编写Dockerfile文件

在~/目录下创建python目录、编写Dockerfile文件

mkdir  go
vim Dockerfile

Dockerfile文件内容如下(看注释内容):

# 基础镜像
FROM ubuntu:18.04
# 镜像作者
MAINTAINER zhang
# 修改国内源
RUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list
# 执行命令
RUN apt-get update
RUN apt-get upgrade -y
# 安装Go环境
COPY go1.17.5.linux-amd64.tar.gz /opt
#RUN tar -zxvf /opt/go1.17.5.linux-amd64.tar.gz -C /usr/lib/go
RUN apt-get install golang -y
# 配置环境变量
ENV GOROOT=/usr/lib/go        
ENV PATH=$PATH:/usr/lib/go/bin 
ENV GOPATH=/root/go
ENV PATH=$GOPATH/bin/:$PATH
# 增加文件
COPY main.go /root/go/src/myTest/
# 定制工作目录
WORKDIR /root/go/src/myTest/
# 对外端口
EXPOSE 8080
ENTRYPOINT []

构建镜像:

docker build -t ubuntu_go:v1 .

查看镜像:

docker image ls

使用镜像:

docker run --rm ubuntu_go:v1 

注:

如果docker出现这样的错误:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

建议重启docker服务

systemctl restart docker

如果本文对您有所帮助,望您一键三连哦,谢谢。

相关文章
|
3月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
921 103
|
3月前
|
Docker 容器 Perl
云效flow构建docker镜像更换apt源为阿里镜像源
在 Dockerfile 中添加命令以更换 Debian 源为阿里云镜像,加速容器内软件包下载。核心命令通过 `sed` 实现源地址替换,并更新 apt 软件源。其中 `cat` 命令用于验证替换是否成功,实际使用中可删除该行。
632 32
|
4月前
|
移动开发 JavaScript 前端开发
精通服务器推送事件(SSE)与 Python 和 Go 实现实时数据流 🚀
服务器推送事件(SSE)是HTML5规范的一部分,允许服务器通过HTTP向客户端实时推送更新。相比WebSocket,SSE更轻量、简单,适合单向通信场景,如实时股票更新或聊天消息。它基于HTTP协议,使用`EventSource` API实现客户端监听,支持自动重连和事件追踪。虽然存在单向通信与连接数限制,但其高效性使其成为许多轻量级实时应用的理想选择。文中提供了Python和Go语言的服务器实现示例,以及HTML/JavaScript的客户端代码,帮助开发者快速集成SSE功能,提升用户体验。
|
2月前
|
缓存 Shell 网络安全
将应用程序打包成Docker镜像时可能遇到哪些问题?
将应用程序打包成Docker镜像时可能遇到哪些问题?
257 77
|
3月前
|
监控 Java Go
无感改造,完美监控:Docker 多阶段构建 Go 应用无侵入观测
本文将介绍一种基于 Docker 多阶段构建的无侵入 Golang 应用观测方法,通过此方法用户无需对 Golang 应用源代码或者编译指令做任何改造,即可零成本为 Golang 应用注入可观测能力。
238 85
|
4月前
|
存储 JSON 数据格式
docker load 后镜像名称为空的问题解决
Docker在容器化应用程序时提供了强大的镜像管理功能,但也可能在某些操作中遇到如镜像名称为空的问题。通过理解问题的成因并采取适当的解决方案,如正确保存和加载镜像、手动修复标签等,可以有效避免和解决这一问题。通过本文提供的指导,您可以确保在使用Docker进行镜像操作时更为顺利,并提高容器管理的效率。
335 82
|
2月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
105 16
|
2月前
|
关系型数据库 MySQL Docker
|
3月前
|
Ubuntu Linux 网络安全
Ubuntu Docker镜像:支持systemctl、SSH、VNC
总的来说,创建一个支持systemctl、SSH和VNC的Ubuntu Docker镜像需要一些技术知识,但是通过学习和实践,我们可以掌握这些技术。这将使我们能够更有效地使用Docker,更好地管理我们的应用程序和服务。CentOS系统中的日志文件位置和管理
117 17