记录一次在docker中运行ubuntu18.04图形化界面的安装步骤

拉取镜像

docker pull ubuntu:18.04

启动基础镜像

 

docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name my_ubuntu -p 81:80 -d --restart=always ubuntu:18.04

进入容器
 

docker ps
docker exec -it my_ubuntu /bin/bash

同步时间

apt-get update
apt-get install -y tzdata

安装vim netstat -tnlp

apt-get install vim net-tools -y

安装xfce4桌面

apt-get update
apt-get install xfce4 xfce4-goodies -y

容器外(宿主机)commit容器

docker commit my_ubuntu my_ubuntu:v1

用新镜像v1创建容器

docker run --privileged=true -it --name my_ubuntu-v1 -p 10001:6080 -p 10002:8000 -p 10003:1337 -d --restart=always my_ubuntu:v1 /sbin/init

进入容器

docker exec -it my_ubuntu-v1 /bin/bash

测试systemctl功能

systemctl
echo "PS1='\[\033[35m\][\[\033[00m\]\[\033[31m\]\u\[\033[33m\]\[\033[33m\]@\[\033[03m\]\[\033[35m\]\h\[\033[00m\]  \[\033[5;32m\]\w\[\033[00m\]\[\033[35m\]]\[\033[00m\]\[\033[5;31m\]\\$\[\033[00m\] '" >> ~/.bashrc
source ~/.bashrc

关闭容器内防火墙

apt-get install ufw -y
ufw disable
ufw status

 

安装VNC Server

apt-get install tigervnc-standalone-server tigervnc-xorg-extension -y

设置vnc密码

vncpasswd
ls ~/.vnc

为VNC设置桌面环境
打开xstartup文件,没有就新建一个

cat > ~/.vnc/xstartup << EOF
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
EOF
chmod 777 ~/.vnc/xstartup


(查看)

ll ~/.vnc


启动VNC

vncserver -geometry 1920x1080 :1 -localhost no
netstat -ntupl|grep vnc

记得不用VNC了之后把VNC Service关掉

vncserver -kill :2

安装noVNC
下载noVNC

apt-get install wget git inetutils-ping -y
cd /usr/local/
git clone https://github.com/novnc/noVNC.git


或者

cd /usr/local/
wget https://github.com/novnc/noVNC/archive/refs/heads/master.zip
unzip master.zip
mv noVNC-master noVNC

修改vnc.html为index.html

cd noVNC && mv vnc.html index.html
vim utils/novnc_proxy
:%s/vnc.html/index.html/g


制作100年证书

cd utils/
openssl req -new -x509 -days 36500 -nodes -out self.pem -keyout self.pem
chmod 777 self.pem

启动noVNC

cd  /usr/local/noVNC/
./utils/novnc_proxy --vnc localhost:5901 &


装cloudcmd
安装nodejs

cd /usr/local/
wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xz
tar xf node-v14.17.6-linux-x64.tar.xz
mv node-v14.17.6-linux-x64 node

链接到/usr/bin

ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm


测试

node -v
npm -v

更换淘宝镜像源

npm config set registry https://registry.npmmirror.com

安装cloudcmd

npm i cloudcmd@16.0.0 -g

启动

ln -s /usr/local/node/lib/node_modules/cloudcmd/bin/cloudcmd.mjs /usr/bin/cloudcmd

cloudcmd --one-file-panel & (显示一个面板)

cloudcmd --one-file-panel &
ps -ef | grep cloudcmd
jobs -l

安装终端gritty

apt-get install gcc -y
apt-get install g++ -y
apt-get install make -y

gcc --version
g++ --version
make -h

npm i npm@8.5.3 -g
npm i gritty -g

ln -s /usr/local/node/lib/node_modules/gritty/bin/gritty.js /usr/bin/gritty

启动命令

/usr/bin/gritty &

ps -ef | grep gritty
jobs -l

设置HOME环境变量
编辑~/.bashrc
添加

cat >> ~/.bashrc << EOF
export HOME=/root
cd \$HOME
EOF

source ~/.bashrc

添加开机自启
1.配置vncserver、cloudcmd、gritty开机自启
安装cron

apt-get install cron


编辑

crontab -e


添加如下行:

@reboot /usr/bin/vncserver -geometry 1920x1080 :1 -localhost no
@reboot cloudcmd --one-file-panel &
@reboot gritty &

crontab -l

2.配置noVNC开机自启

netstat -tnlp


先干掉noVNC服务:

pkill python3

cat > /lib/systemd/system/novnc.service << EOF
[Unit]
Description=Start novnc
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/local/noVNC/utils/novnc_proxy --vnc localhost:5901
[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl start novnc
systemctl enable novnc
systemctl status novnc

设置容器里面的root密码

passwd

容器外(宿主机)操作
退出容器,保存此环境

docker commit my_ubuntu-v1 ubuntu-xfce:v1

docker ps -a
docker images

用做好的ubuntu-18.04桌面版镜像创建容器

docker run --privileged=true -it --name my_ubuntu-xfce -p 10001:6080 -p 10002:8000 -d -p 10003:1337 --restart=always ubuntu-xfce:v1 /sbin/init

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值