当前位置: 首页 > news >正文

Linux docker 安装 部署

docker 安装

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

常用命令

在这里插入图片描述

给予 docker 访问 gui 的权限

在 /etc/profile 末尾添加

if [ "$DISPLAY" != "" ]
thenxhost +
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://www.lryc.cn/news/209713.html

相关文章:

  • selenium+python web自动化测试框架项目实战实例教程
  • 软考高级系统架构设计师系列之:案例分析典型试题七
  • 【算法|动态规划No30】leetcode5. 最长回文子串
  • 计算机视觉 激光雷达结合无监督学习进行物体检测的工作原理
  • kubectl资源管理命令-陈述式
  • Android-宝宝相册(第四次作业)
  • Android应用:实现网络加载商品数据【OKHttp、Glide、Gson】
  • 增强常见问题解答搜索引擎:在 Elasticsearch 中利用 KNN 的力量
  • 常见网络攻击及防御方法总结(XSS、SQL注入、CSRF攻击)
  • python爬虫request和BeautifulSoup使用
  • 记录--vue3实现excel文件预览和打印
  • 消息队列中间件面试笔记总结RabbitMQ,Kafka,RocketMQ
  • pycharm远程连接Linux服务器
  • Android应用开发(38)全屏显示隐藏状态栏和导航栏
  • 日本IT Week秋季展丨美格智能以技术创新共建美好数字生活
  • centos7 install postgres-15
  • JVM常见的垃圾回收器(详细)
  • acwing 5283. 牛棚入住
  • Qt触摸屏双指缩放和单指移动界面(支持嵌入式设备)
  • 【Linux】虚拟机安装Linux、客户端工具,MobaXterm的使用,Linux常用命令
  • springboot-scanBasePackages包扫描
  • 【C语言数据结构——————排序(1万字)】
  • PyTorch基础(18)-- torch.stack()方法
  • 从lc560“和为 K 的子数组“带你认识“前缀和+哈希表“的解题思路
  • c:变参函数:汇编解析;va_list;marco 宏:__VA_ARGS__
  • eclipse安装教程(2021版)
  • 计算机网络重点概念整理-第二章 物理层【期末复习|考研复习】
  • 【计算机网络】从输入URL到页面都显示经历了什么??
  • [C++]——带你学习类和对象
  • Docker多平台、跨平台编译打包