Docker的安装与使用

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 --gpus all --name nvidia-centos-desktop-vnc -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --privileged -d -p 5901:5901 --ulimit memlock=-1 -td nvidia/cuda:12.0.0-cudnn8-runtime-centos7 /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/[email protected] /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(https://www.realvnc.com/en/connect/download/viewer/)。
    Docker的安装与使用_第1张图片

  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,右键进行
    Docker的安装与使用_第2张图片

  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,

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