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