• Linux docker 安装 部署


    docker 安装

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

    常用命令

    在这里插入图片描述

    docker cp命令是Docker提供的一个用于在主机和容器之间复制文件和目录的命令

    docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
    docker cp [OPTIONS] CONTAINER:DEST_PATH SRC_PATH
    
    options 可用参数
    	-a:将复制的文件或目录保留其原始属性,包括所有者、权限等。
    	-L:如果SRC_PATH是一个符号链接,则复制链接指向的文件或目录。
    	-p:保留源文件或目录的时间戳。
    	-R或-r:递归复制整个目录。
    CONTAINER,可以是正在运行或已停止的容器,名称或ID均可
    SRC_PATH,源文件或目录在容器内的路径
    DEST_PATH,目标路径在主机上的位置
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    给予 docker 访问 gui 的权限

    在 /etc/profile 末尾添加

    if [ "$DISPLAY" != "" ]
    then
     xhost +
    fi
    
    • 1
    • 2
    • 3
    • 4

    在执行 更新

    source /etc/profile
    
    • 1

    docker下载镜像

    docker search gcc #搜索
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

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

    编写Dockerfile 拷贝文件等操作

    vim Dockerfile
    
    • 1
    #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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    执行命令构建生成镜像

    docker build -t ubuntu-desktop:v1 .
    
    • 1

    在这里插入图片描述

    启动镜像

    启动镜像

    docker run -d ubuntu-desktop:v1
    
    • 1

    图形化 带网络启动

    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
    
    • 1

    如果在xshell中进入docker容器启动图形界面,则

    docker run -itd -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v $HOME/slides:/root/slides -v $HOME/.Xauthority:/root/.Xauthority -e GDK_SCALE -e GDK_DPI_SCALE  --privileged  --network host ubuntu-rt9:v1  bash
    
    • 1

    查看所有容器及运行情况

    docker ps -a
    
    • 1

    在这里插入图片描述

    根据id 进入容器

    docker exec -it 50f35be4b872 bash 
    
    • 1

    在这里插入图片描述

    测试 gui 权限是否开放成功

    apt update
    apt install xarclock
    xarclock
    
    • 1
    • 2
    • 3

    安装相关包

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

    apt-get install qt-default
    apt-get install make
    
    • 1
    • 2

    停止运行

    在这里插入图片描述

    重新运行

    在这里插入图片描述

    打包容器为新的镜像

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

    在这里插入图片描述

    将镜像打成tar包

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

    在这里插入图片描述

    载入tar包镜像

    docker load -i ubuntu-desktop-v2.tar
    
    • 1

    其他安装docker
    loongarch64 docker安装

    1. 龙芯开源社区下载离线安装
    # http://pkg.loongnix.cn/loongnix/pool/main/d/docker-ce/
    docker-ce-cli_20.10.3-7.1_loongarch64.deb  docker-ce-rootless-extras_20.10.3-7.1_loongarch64.deb
    docker-ce_20.10.3-7.1_loongarch64.deb
    # http://pkg.loongnix.cn/loongnix/pool/main/c/containerd.io/
    containerd.io_1.4.3-1.lnd.1_loongarch64.deb
    2. 安装离线软件包
    sudo apt install ./*.deb -y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    【工程部署】在RK3588上部署OCR(文字检测识别)(DBNet+CRNN)
    吉利笔试——编程代码题
    Reverse Engineering Preliminary – ASM Instructions
    chrome谷歌浏览器离线安装axure插件打开页面原型
    GEE:提取一个小区域影像的所有波段像素值到csv
    TortoiseSVN使用情形、安装与使用
    哈希表
    SpringBoot(一)快速入门
    五十一、csrf跨站请求伪造和auth认证模块
    websocket 初识
  • 原文地址:https://blog.csdn.net/kchmmd/article/details/134015128