Docker的安装与使用

2023-05-16

1. Window10
1.1 docker安装

https://www.runoob.com/docker/windows-docker-install.html

1.2 centos7-vnc安装

  1. 拉取镜像centos7
docker pull centos:7
可以从https://hub.docker.com/_/centos?tab=tags查询拉取需要的镜像版本。
  1. 启动容器
docker run --name centos-desktop-vnc --privileged -d -p 5901:5901 --ulimit memlock=-1 -td centos:7 /usr/sbin/init

指定容器的名称为centos-desktop-vnc,并暴露宿主机的5901来连接vnc。

  1. 配置desktop环境
docker exec -it centos-desktop-vnc bash

默认的镜像不带desktop环境,需要手动安装。

1) 查看支持环境

yum grouplist

查看可安装且支持的桌面环境。

2) 安装gnome环境

yum groupinstall GNOME Desktop -y

安装gnome桌面。

3) 配置系统默认的启动模式
*

# 获取当前启动模式
systemctl get-default
# 修改启动模式为图形化
systemctl set-default graphical.target
# 修改启动模式为命令行
systemctl set-default multi-user.target

1.3 配置vnc

  1. 安装vnc server、vim、net-tools
yum -y install tigervnc-server tigervnc-server-module vim net-tools
  1. 配置vnc server
    1)复制配置文件模板
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service

2)设置生效用户
修改配置文件

vim /lib/systemd/system/vncserver\@\:1.service

将配置文件的修改为root,由于root的home路径是/root,不是/home/root,因此注意修改PIDFILE的路径
改好之后如下

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

4) 修改vnc server密码

vncpasswd

5) 生效vnc配置

systemctl daemon-reload

6) 配置vnc开机启动

# 启动服务
systemctl start vncserver@:1
# 设为开机启动
systemctl enable vncserver@:1
7)	检查vnc server是否启动
netstat -lnpt|grep Xvnc

启动成功如下:
在这里插入图片描述

8) 关闭防火墙

# 关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机启动
systemctl disable firewalld

9) 查看ip

Ifconfig

查看ip。
1.4 Window安装Vnc客户端

  1. 下载vnc server,安装vnc server。
    在这里插入图片描述

  2. 调节分辨率
    Vnc链接完docker容器后,不能全屏显示,需要调整分辨率,分辨率值根据自己的电脑分辨率进行设置。
    1) 关闭vncserver:vncserver -kill :1
    设置分辨率并重启:vncserver -geometry 1366x768 :1
    第一种方法只是临时的改变,每次关机开机都需要重新配置。
    2)~/.vnc/config

# desktop=sandbox
geometry=1920x1080  #分辨率
# localhost  #仅监听本地端口
# alwaysshared
#dpi=96

这个方法永久的改变了vnc链接的分辨率。
注意:安装好后,不要restart,直接关机再开机。
1.5 安装软件

  1. yum install epel-release
    安装扩展库,这个应该完成容器创建,便可以安装。
  2. 安装中文支持库
yum -y groupinstall Fonts
  1. 时间修复
date –R
timedatectl set-timezone Asia/Shanghai
  1. 安装octave
    1) yum install octave
    2) 配置gnuplot
Vim /usr/share/octave/3.8.2/m/startup/octaverc

添加graphics_toolkit(‘gnuplot’)
5. 安装python3
CentOS 7.4 安装python3及虚拟环境 - 简书 (jianshu.com)
6. 安装git
Linux(Centos 7)下安装Git并配置连接GitHub - smartwen - 博客园 (cnblogs.com)
1.6 centos7push/pull
Docker 将容器制作成镜像并上传 - 掘金 (juejin.cn)

# 1、查询container id,出现的第一个字符串就是container id,我这里是4052d86631b0
docker ps -a | grep centos-desktop-vnc
# 2、提交作为本地镜像
docker commit 4052d86631b0 centos:7-vnc

#3、tag

docker tag vs:v1 cccc/vserver:v1

#4. Push

docker push cccc/vserver:v1

2. MacOS
1中配置的centos系统被pull到Mac上。由于MAC不能链接D-BUS,通过安装也没有得到很好的解决。
目前通过xquartz解决centos界面应用的问题,如gnuplot画图,firfox显示,python3画图等问题。

  1. brew install xquartz

  2. open –a XQuartz

  3. 在mac上面的bar找到XQuartz,右键进行
    在这里插入图片描述

  4. ip=$(ifconfig en0 | grep inet | awk ‘$1==“inet” {print $2}’)
    xhost + $ip

docker run -d --name firefox -e DISPLAY=$ip:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox

  1. 如果换了网络,ip有发生变化的可能,则在进入容器后:
    设置4中打印的ip。
    export DISPLAY = 192.168.3.1:0,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker的安装与使用 的相关文章

  • 黑苹果突然某一天无法上网?可能设置了BIOS,这样可以有网了!

    如图所示 xff0c 本人是微星迫击炮B450 xff08 非MAX xff09 xff0c 进入BIOS设置网卡 xff0c 可以解决这样的没网的问题 如果各位的BIOS不是微星 xff0c 也没有关系 xff0c 可以找到类似的功能就可
  • LSTM模型、双向LSTM模型以及模型输入输出的理解

    循环神经网路 xff08 RNN xff09 在工作时一个重要的优点在于 xff0c 其能够在输入和输出序列之间的映射过程中利用上下文相关信息 然而不幸的是 xff0c 标准的循环神经网络 xff08 RNN xff09 能够存取的上下文信
  • 无人机中的PID控制代码略解

    无人机中的PID控制代码略解 PID的控制规律 xff1a 参考 xff1a Amov实验室 PX4中级课程 PID基础 频域函数 xff1a u s
  • 如何用Python在图片上绘制BoundingBox

    参考资料 xff1a https blog csdn net weixin 41735859 article details 106599903 在目标检测等CV领域的任务里 xff0c 经常会涉及到在图片上绘制BBox xff0c 也就是
  • uart

    1 关于UART的基本特性 xff1a xff08 1 xff09 异步串行通信 xff0c 可为全双工 半双工 单发送TX或单接收RX模式 xff1b xff08 2 xff09 支持5 xff5e 8位数据位的配置 xff0c 波特率几
  • STM32--数码管显示使用

    STM32 数码管显示 简介 1 硬件部分 STM32F103C8T6 最小系统板 一位共阴数码管 2 软件部分 Keil软件编程 数码管码表 硬件部分 数码管 简介 数码管 xff0c 也称作辉光管 xff0c 是一种可以显示数字和其他信
  • LXC 和 LXD 容器总结

    1 概述 1 1 LXC LXC是Linux Containers的缩写 它是一种虚拟化技术 xff0c 通过一个Linux内核在一个受控主机上虚拟地运行多个Linux系统 LXC使用内核的Cgroups功能 xff0c 来提供进程和网络空
  • Altium designer -- 基本规则设置--间距设置Clearance

    Altium designer 基本规则设置 xff08 1 xff09 间距设置Clearance 硬件设计 软件 Altium designer 10PCB设计 间距设置 规则名称1 xff1a Clearance 一般间距 最小间距
  • Python 百度智能云文字识别 实现手写文字识别

    Python 实现手写文字识别 简介 百度智能云人工智能平台文字识别接口使用下载IP摄像头应用 调用手机摄像头 xff0c 实现拍照实现文字识别 Python 百度智能云人工智能文字识别接口 实现手写文字识别 百度智能云 创建应用 创建Py
  • Python 天气 简单 数据分析及可视化

    Python 天气情况数据分析及可视化 环境配置 Pycharm开发环境 python 版本 python3 7 Anconda 集成开发环境 第三方库导入 span class token comment pip install 模块 清
  • STM32 BMP280模块 获取气压温度高度传感器数据 TFT显示

    STM32 BMP280模块 获取气压温度高度传感器数据 TFT显示 简介 BMP280是博世最新推出的数字气压传感器 xff0c 具有卓越的性能和低廉的价格 xff0c 相对精度为 0 12 hPa xff08 相当于 1米 xff09
  • 51单片机学习 光敏电阻传感器实验

    51单片机学习 光敏电阻传感器实验 一 光敏电阻模块简介 光敏电阻传感器模块是对光线敏感度的反应 xff0c 一般用来检测探头周围光线的强度 xff08 亮度 xff09 xff0c 可以通过DO输出数字信号1和0 xff0c 也可以通过A
  • 基于STM32的物联网环境监测系统

    基于STM32的物联网环境监测系统 xff08 Internet of Things environmental monitoring system based on STM32 xff09 基于机智云物联网的环境监测系统 视频演示 摘 要
  • 合宙ESP32S3 CameraWebServe 测试demo

    合宙ESP32S3 CameraWebServe 合宙ESP32S3 CameraWebServe测试 xff0c 我们需要一个OV2640的摄像头模组用来采集图像传输给ESP32的 xff0c 这里使用的OV2640是之前安信可十周年的白
  • 【学习笔记汇总】OpenStudyNote

    OpenStudyNote https imgse com i ppE5FpQ 本科毕业设计 Internet of Things environmental monitoring system based on STM32 STM32系列
  • 计算机视觉:场景识别(Scene Recognition)

    计算机视觉 xff1a 场景识别 xff08 Scene Recognition xff09 场景识别图像分类特征提取词袋模型集成学习分类器 算法设计结果分析总结与展望总结展望 完整程序请移步至此链接下载 场景识别 在这个项目中 xff0c
  • ROS学习笔记(六):TF坐标变换

    ROS学习笔记 xff08 六 xff09 xff1a TF坐标变换 TF的基本知识TF工具tf monitortf echostatic transform publisherview framesrqt tf tree 各坐标系及其关系
  • String, Int 和 Byte数组

    1 Bytes amp String 1 1 Bytes 61 gt String Python byte array span class token operator 61 span span class token builtin b
  • 嵌入式如何学习与职业规划

    前言 xff1a 本笔记为百问网7天物联网智能家居训练营学习总结 如何学习与职业规划 仔细观察一下周围的电子设备 xff0c 比如包里的手机 xff0c 戴着的手环 xff0c 开着的空调 家里的洗衣机 扫地机器 人 监控摄像头 智能电视
  • 逻辑盘(lvm)扩容

    1 已经创建lvm 2 扩容 目的 xff1a 把sdb容量扩给 目录 2 1 xff1a dev sdb 分区格式化 span class token function fdisk span dev sdb 命令 span class t

随机推荐