Linux docker 安装 部署

docker 安装

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

常用命令

Linux docker 安装 部署_第1张图片

给予 docker 访问 gui 的权限

在 /etc/profile 末尾添加

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

在执行 更新

source /etc/profile

docker下载镜像

docker search gcc #搜索

Linux docker 安装 部署_第2张图片

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

Linux docker 安装 部署_第3张图片

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

停止运行

Linux docker 安装 部署_第4张图片

重新运行

Linux docker 安装 部署_第5张图片

打包容器为新的镜像

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

Linux docker 安装 部署_第6张图片

将镜像打成tar包

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

在这里插入图片描述

载入tar包镜像

docker load -i ubuntu-desktop-v2.tar

你可能感兴趣的:(linux,docker,运维)