IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docket的使用 -> 正文阅读

[系统运维]Docket的使用

我开发不同芯片时经常会需要搭建多个不同的编译环境,这部分重复工作我以前使用的是虚拟机来实现,但是后来发现还是太麻烦了,今天我来试试看用docket来搭建环境

准备工作

我们先根据更新下载源更新好软件源。

安装docket

    sudo apt-get install docker.io

查看版本

    docker version

将用户添加到docke的分组下

使用docket时会需要使用到root权限,如果不想一直加一个sudo可以将用户添加到docket分组下。

一般安装完以后会自动创建一个docker分组,如果还没有 docker group 就添加一个

    sudo groupadd docker

接下来把将自己添加到该分组下,其中的${your_user_name} 需要更换成自己的用户名

    sudo gpasswd -a ${your_user_name} docker

docket 的简单使用

在使用docket之前, 我们先了解一下几个名词

  • 镜像: 镜像有点类似于装系统时使用的ios文件, 我们在使用docket之前, 需要先下载一些docket镜像.
  • 容器: 容器就像我们用虚拟机软件创建的虚拟机, 而虚拟机想要使用什么系统就需要对应的ios文件, 容器就是镜像的运行时实例, 我们可以用一个镜像创建多个容器.

添加远程镜像

该指令用于下载docket官网的镜像.

    docker pull ubuntu:16.04

查看已经添加的镜像信息

    docker images

使用镜像创建一个新的容器

创建一个容器

    docker run ubuntu:16.04

创建一个容器时, 使容器运行一个进程

使用第一条指令创建一个新的容器, 你会发现容器运行不起来, 其实并不是容器运行不起来而是容器运行起来以后又马上结束了, 因为它启动以后发现他没有运行任何进程所以就将自己结束掉了.

如果想要正常运行一个线程需要让他在后台运行一个进程, 这个进程我们需要保证它不会自己退出, 这样我们就能让容器在后台一直运行这, 我目前都是使用 /bin/bash

    docker run -it ubuntu:16.04 /bin/bash

修改容器的网络

如果直接运行容器,docker会自己创建一个新的虚拟网络,该网络无法访问与我们主机同一网络下的其他机器。如果我们希望他能直接访问我们主机网络, 我们需要修改他的网络.

    docker run --network=host ubuntu:16.04

挂载文件/文件夹到容器

有时候, 我们需要容器能访问宿主机的某个文件/文件夹, 但docket与容器是隔离的无法直接访问. 此时, 我们就需要将宿主机的对应文件/文件夹挂载到容器中.

注: 如果不存在该文件/文件夹, 容器运行不起来

    docker run -v /dev/ttyUSB0:/dev/ttyUSB0 ubuntu:16.04

给容器传递环境变量

    docker run -e DISPLAY=$DISPLAY ubuntu:16.04

修改容器名称

我们可以为创建的镜像命名, 方便自己管理

    docker run --name openwrt ubuntu:16.04

在容器中通过X11运行gui程序

该指令将主机的DISPLAY环境变量传递给了容器,并且把X11挂载给了容器,这样做容器就可以使用X11去运行Gui程序

    docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ubuntu:16.04 /bin/bash

主机还需要使用以下指令去开放X11的权限

    xhost +

查看已运行的容器

    docker ps

该指令用于查看当前已经运行的容器,如果需要查看已停止的容器,只需要再加-a

重新启动容器

    docker start openwrt-7688

此处的openwrt-7688为容器名称,可以使用容器名称也可以使用容器ID,这些信息可以使用查看指令找到。

有时候,启动容器时发现没有成功,那是因为运行完了以后马上就退出了。因为容器运行时需要一个前台进程,如果没有前台进程的话会直接退出。

停止容器

    docker stop openwrt-7688

此处的openwrt-7688为容器名称,可以使用容器名称也可以使用容器ID,这些信息可以使用查看指令找到。

进入容器

有一部分容器是在后台运行的,这一类容器我们要重新进入的话需要使用以下指令进入。

退出后停止容器

    docker attach openwrt-7688

此处的openwrt-7688为容器名称,可以使用容器名称也可以使用容器ID,这些信息可以使用查看指令找到。

退出后不停止容器

    docker exec -it openwrt-7688 /bin/bash

此处的openwrt-7688为容器名称,可以使用容器名称也可以使用容器ID,这些信息可以使用查看指令找到。

导出容器

当我们的容器使用了一段时间以后希望可以复制相同的容器时,可以用这条指令导出容器,后期可以再导入作为镜像使用。

    docker export affectionate_keldysh > widora-7688.tar

导入已有镜像

我们对容器进行修改以后, 可以将整个容器打包成镜像, 该指令就是将这个镜像导入到我们的docket中

    docker import widora-7688.tar openwrt:widora
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:47:33  更:2021-08-17 15:49:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:20:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码