Linux docker 安装 部署

news/2024/7/7 18:30:50

docker 安装

linux系统离线安装docker
如何使用docker部署c/c++程序

常用命令

在这里插入图片描述

给予 docker 访问 gui 的权限

在 /etc/profile 末尾添加

if [ "$DISPLAY" != "" ]
then
 xhost +
fi

在执行 更新

source /etc/profile

docker下载镜像

docker search gcc #搜索

在这里插入图片描述

docker pull gotoeasy/ubuntu-desktop #下载
docker images #查看所有镜像

在这里插入图片描述

docker构建新的镜像(将程序文件等复制到镜像中)

编写Dockerfile 拷贝文件等操作

vim Dockerfile
#FROM gcc:latest
#RUN mkdir /usr/src/myapp
#COPY test.c /usr/src/myapp
#WORKDIR /usr/src/myapp
#RUN gcc test.c
#CMD ["./a.out"]
FROM gotoeasy/ubuntu-desktop:latest
RUN mkdir /usr/src/myapp
COPY untitled /usr/src/myapp

执行命令构建生成镜像

docker build -t ubuntu-desktop:v1 .

在这里插入图片描述

启动镜像

docker run -d ubuntu-desktop:v1 #启动镜像
#图形化 带网络启动
docker run -itd -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE  --privileged  --network host ubuntu-desktop:v1 bash
docker ps -a #查看所有容器及运行情况 

在这里插入图片描述

docker exec -it 50f35be4b872 bash #根据id 进入容器

在这里插入图片描述

测试 gui 权限是否开放成功

apt update
apt install xarclock
xarclock

安装相关包

此时如果所在系统有网,容器也可以在线安装相关包
比如

apt-get install qt-default
apt-get install make

停止运行

在这里插入图片描述

重新运行

在这里插入图片描述

打包容器为新的镜像

docker commit -a "sby" -m "creat a new docker image by sby" 50f35be4b872  ubuntu-desktop:v2

在这里插入图片描述

将镜像打成tar包

docker save -o ubuntu-desktop-v2.tar ubuntu-desktop:v2

在这里插入图片描述

载入tar包镜像

docker load -i ubuntu-desktop-v2.tar

http://lihuaxi.xjx100.cn/news/1720035.html

相关文章

appendChild也是异步函数(给dom添加子节点后,第一次修改dom样式不生效)

目录 一、问题 二、原因及解决方法 三、总结 一、问题 1.在已有dom上添加子节点son,并在添加后把son移动到合适的位置。但是发现第一次修改son的样式不生效,打印后竟然发现:获取到的dom高度 clientHeight 第一次竟然是错误的(…

开源镜像站

阿里开源镜像站:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区网易开源镜像站:欢迎访问网易开源镜像站搜狐开源镜像站:Index of /北京交通大学开源镜像站:http://mirror.bjtu.edu.cn兰州大学开源软件镜像站:兰州大学…

uniapp:谷歌地图,实现地图展示,搜索功能,H5导航

页面展示 APP H5 谷歌地图功能记录,谷歌key申请相对复杂一些,主要需要一些国外的身份信息。 1、申请谷歌key 以下是申请谷歌地图 API 密钥的流程教程: 登录谷歌开发者控制台:打开浏览器,访问 Google Cloud Platform Console。 1、创建或选择项目:如果你还没有创建项目…

美摄人像背景抠图SDK

企业对于图像处理的需求越来越高。无论是社交媒体营销、产品展示还是企业内部培训,高质量的图像都是吸引用户和提升品牌形象的关键。然而,传统的图像处理工具往往需要大量的手动操作和专业技巧,耗时耗力。为了满足企业对于高效、精准的图像处…

NPDP产品经理证书是什么行业的证书?

NPDP是一个跨行业的证书,它适用于各种不同类型和规模的组织。无论是制造业、服务业还是科技领域,都可以从NPDP认证中获益。 1. 制造业: 制造业涉及大量的产品开发和创新活动。从汽车制造到电子设备制造,从家居用品到航天航空&…

掌动智能APP自动化测试工具的主要功能

掌动智能APP自动化测试工具是一类用于自动执行测试脚本和验证移动应用程序的工具。它们模拟用户与应用程序的交互,以便检查应用程序的功能、性能和稳定性。这些工具可以用于各种移动平台,包括iOS和Android。本文将介绍APP自动化测试工具的主要功能有哪些…

技术实力获行业高度认可,几何伙伴首获科技进步奖殊荣!

2023年10月25日,“2023年度中国汽车工程学会科学技术奖”正式公布并于北京举行颁奖典礼,以对汽车工业努力奋斗、勇于创新的优秀企业和人才进行嘉奖,对优秀先进成果进行表彰。 其中,由几何伙伴主导,携手上汽集团、友道智…

高效Java《Effective Java》3rd原文学习笔记-精华版(一)

经验越丰富的 Java 程序员,越注重细节,不然只会堆积更多的屎山代码 1: 静态工厂方法代替构造方法 1)可定义工厂方法名字 当构造函数的参数本身无法明确描述函数返回的对象类型时,一个巧妙命名的静态方法能够帮助客户端代码更好…