学无止境

书山有路勤为径,
学海无涯苦作舟!

0%

docker和novnc学习资料收集整理

novnc配置

vue 浏览器打开远程桌面 novnc - 简书 https://www.jianshu.com/p/1915a3df8c09
(130条消息) 基于noVNC集成企业内部web远程管理服务《一》【让企业运维解放双脚】_我是罗易呀!的博客-CSDN博客_novnc 集成 https://blog.csdn.net/Qcg0223/article/details/122498620
【云桌面】novnc远程连接桌面部署讲解与一键部署脚本 - 掘金 https://juejin.cn/post/7124858540467945486
python版novnc:ip地址方式
python3.8.10要求3.8以上,安装python版websocketify下面执行
pip install numpy==1.23.4
python.exe setup install
python -m pip install –upgrade pip
websockify –help

d:\Python3810-64\Scripts\websockify.exe 8788 192.168.0.113:5903 –web D:\phpstudy_pro\WWW\eduwind\novnc-py-server\noVNC
(130条消息) windows部署novnc浏览器远程控制windows_风一样的男子&的博客-CSDN博客_novnc windows
https://blog.csdn.net/xiaofeixia666888/article/details/123916029
python版novnc:token方式
–target-config 后面是目录也可以,是文件也可以
d:\Python3810-64\Scripts\websockify.exe 8788 –target-config=D:/phpstudy_pro/WWW/eduwind/novnc-py-server/token-conf/ –web D:\phpstudy_pro\WWW\eduwind\novnc-py-server\noVNC
d:\Python3810-64\Scripts\websockify.exe 8788 –target-config=D:/phpstudy_pro/WWW/eduwind/novnc-py-server/token-conf/one.conf –web D:\phpstudy_pro\WWW\eduwind\novnc-py-server\noVNC
one.conf内容如下
abc123: 192.168.0.113:5903
websockify文档 - 贱书生 - 博客园
https://www.cnblogs.com/rnckty/p/10945051.html
nodejs版novnc:
(130条消息) web端通过novnc方式远程windows server环境搭建详解_嫣夜来的博客-CSDN博客_novnc
https://blog.csdn.net/qq_41865652/article/details/121766828

修改vnc和novnc的端口为15901和16901

(130条消息) web端通过novnc方式远程windows server环境搭建详解_嫣夜来的博客-CSDN博客_novnc https://blog.csdn.net/qq_41865652/article/details/121766828
依赖软件列表及下载地址
UltraVNC_1_3_42_X64_Setup: https://uvnc.com/downloads/ultravnc.html
noVNC-master:https://github.com/novnc/noVNC/archive/master.zip
websockify-js:https://github.com/novnc/websockify-js
nodejs: https://nodejs.org/zh-cn/download/releases/
nodejs版资源下载地址:https://pan.baidu.com/s/1LP-VuA3FRLmRk2N4CyQCOQ 提取码:2acu
python版资源下载地址:(130条消息) windows版novnc部署需要的全套资源_novncwindows-桌面系统文档类资源-CSDN文库 https://download.csdn.net/download/xiaofeixia666888/85068232
6901是websockify.exe的port;ip:5901是第二步安装的vnc server端的服务 –web是novnc 文件位置
D:\python38\Scripts\websockify.exe 6901 ip:5901 –web C:\Users\19874\Desktop\python脚本\novnc\noVNC-master
连接测试:
在任意一台ip连通的电脑上都可以访问 上边server端电脑了 http://ip:6901/vnc.html
(129条消息) windows部署novnc浏览器远程控制windows_风一样的男子&的博客-CSDN博客_novnc windows https://blog.csdn.net/xiaofeixia666888/article/details/123916029
websockify文档 - 贱书生 - 博客园 https://www.cnblogs.com/rnckty/p/10945051.html
测试成功=>noVNC在windows中的使用 - 简书 https://www.jianshu.com/p/198847bebda9
./utils/websockify/websockify.py –web ./ 8787 192.169.1.100:5901 novnc和vncserver不在同一台机器
./utils/websockify/websockify.py –web ./ 8787 localhost:5901 novnc和vncserver在同一台机器
./utils/websockify/websockify.py –web ./ –target-config=./token/token.conf
vnc_startup.sh 是启动nvcserver
launch.sh 是启动websocket和novnc
访问单台密码即可,访问多台计算机时,需要安装novnc代理,如三台ip为101、102、103,101和102两台安装vncserver,103安装novnc作代理机使用即可,然后在代理机上配置代理机器上创建一个token配置文件,假设为/home/token/token.conf,文件内容为:
abc123456789: 192.168.1.101:5900
def123456789: 192.168.1.102:5901
在103代理机器上输入命令:./utils/websockify/websockify.py –web ./ –target-config=./token/token.conf 8888。
使用vnc_auto.html
在vnc_auto.html中写入noVNC代理的配置
host = “192.168.1.10”;
port = 8888;
path = “websockify/?token=xxxxxx”;
在103代理机器可配置vnc_auto.html文件所在目录为web目录可访问到vnc_auto.html即可。
如果输入host地址,port之后,不能访问,查看密码是否正确,如果显示connection refused,查看被访问主机vncserver是否启动,如果未启动,执行vncserver。
假设我们在PC2上创建了一个VNC连接,sessionnumber是1,端口号为5901。noVNC可以和vncserver在一台机器上,也可以不在一台机器上。
vnc.html -> 192.168.1.102:6080(PC2) -> websockify.py -> localhost:5901(PC1) novnc和vncserver可分开安装
vnc.html -> 192.168.1.102:6080(PC1) -> websockify.py -> localhost:5901(PC1) novnc和vncserver在一起安装
注意:使用noVNC每个系统桌面或者虚拟机每次只能有一个连接,如果连接时出现错误Server disconnected (code: 1000, reason: Target closed),也有可能是你已经连接了或者在virt-manager里面启动了虚拟机并进入了系统桌面。
good=>noVNC的使用之一 | vosamo http://vosamo.github.io/2016/07/noVNC%E7%9A%84%E4%BD%BF%E7%94%A8%E4%B9%8B%E4%B8%80/
good=>noVNC的使用之二(在Django中集成noVNC) | vosamo http://vosamo.github.io/2016/07/noVNC%E7%9A%84%E4%BD%BF%E7%94%A8%E4%B9%8B%E4%BA%8C-%E5%9C%A8Django%E4%B8%AD%E9%9B%86%E6%88%90noVNC/
6903、6080都是自已设置的代理端口,默认是6080,可修改为别的任意端口,只要端口不占用即可。
noVNC http://192.168.0.113:6903/?password=vncpassword&host=192.168.0.113&port=6903
noVNC http://192.168.0.113:6903/?password=vncpassword
这时,访问http://localhost:6080/vnc.html?host=localhost或者是另一台vncserver服务器&port=6080或http://localhost:6080/vnc.html,然后输入Host地址,端口号,密码,token,其中密码和token有的话需要输入,然后连接即可。当然你可以从PC1的浏览器中输入PC2的IP地址访问。
1、修改Dockerfile中的端口
2、 docker exec -it d1763ab78fb8 /bin/bash
进去容器运行vncserver,会再重新运行一个5902的server
远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html
I have no name!@d1763ab78fb8:$ vncserver #意思就是5900+1即5901端口号启动
New ‘d1763ab78fb8:2 ()’ desktop is d1763ab78fb8:2
Starting applications specified in /headless/.vnc/xstartup
Log file is /headless/.vnc/d1763ab78fb8:2.log
I have no name!@d1763ab78fb8:
$ ps -aux |grep vnc
default 1 0.0 0.0 19760 1652 ? Ss 00:42 0:00 /bin/bash /dockerstartup/vnc_startup.sh –wait
default 17 0.0 0.0 15584 1616 ? S 00:42 0:00 bash /headless/noVNC/utils/launch.sh –vnc localhost:5902 –listen 6902
default 42 0.0 0.9 49984 17596 ? S 00:42 0:00 /usr/bin/Xvnc :1 -auth /headless/.Xauthority -depth 24 -desktop d1763ab78fb8:1 () -fp /usr/share/fonts/X11//misc,/usr/share/fonts/X11//Type1 -geometry 1024x768 -pn -rfbauth /headless/.vnc/passwd -rfbport 5901 -rfbwait 30000
default 310 0.6 0.9 49192 18436 pts/0 S 02:20 0:00 /usr/bin/Xvnc :2 -auth /headless/.Xauthority -desktop d1763ab78fb8:2 () -fp /usr/share/fonts/X11//misc,/usr/share/fonts/X11//Type1 -geometry 1024x768 -pn -rfbauth /headless/.vnc/passwd -rfbport 5902 -rfbwait 30000
default 420 0.0 0.0 15052 984 pts/0 S+ 02:20 0:00 grep vnc
I have no name!@d1763ab78fb8:~$
从vncserver这个启动命令开始吧,
[root@redflag1 ~]# which vncserver
/usr/bin/vncserver
[root@redflag1 ~]# file /usr/bin/vncserver
/usr/bin/vncserver: a perl script text executable
[root@redflag1 ~]# grep “59” /usr/bin/vncserver -n
18:# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
118:$vncPort = 5900 + $displayNumber;
238:# n is taken if something is listening on the VNC server port (5900+n) or the
257:# (5900+n) or the X server port (6000+n).
274: if (!bind(S, pack(‘S n x12’, $AF_INET, 5900 + $n))) {
经过这几个回合,解决方法已经大白于天下了。
这里启动的脚本hard code了5900,我们可以替换这里就OK了
先定义一个$default_port=15900
然后替换118和274行的5900为$default_port就可以了
现在启动服务
[root@redflag1 ~]# service vncserver restart
查看端口
[root@redflag1 ~]# netstat -l | grep 159
tcp 0 0 *:15901 : LISTEN
tcp 0 0 *:15902 : LISTEN
docker-headless-vnc-container/Dockerfile.ubuntu.xfce.vnc at master · ConSol/docker-headless-vnc-container https://github.com/ConSol/docker-headless-vnc-container/blob/master/Dockerfile.ubuntu.xfce.vnc
git clone https://github.com/ConSol/docker-headless-vnc-container.git 下载下来后,修改下Dockerfile
Docker Hub https://registry.hub.docker.com/
Docker Compose | 菜鸟教程 https://www.runoob.com/docker/docker-compose.html
46e24bc3b455:1 () - noVNC http://49.233.7.58:6901/vnc.html?password=vncpassword
Dc私有云平台 http://49.233.7.58:18080/#/containers
docker run -d -p 5902:5901 -p 6902:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run –privileged=true –name ubuntu6901 -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5902:5902 -p 6902:6902 -e VNC_RESOLUTION=1024x768 ubuntu.xfce.vnc.6902
caf289665bb2:1 () - noVNC http://49.233.7.58:6901/vnc.html?password=vncpassword
caf289665bb2:1 () - noVNC http://49.233.7.58:6901/?password=vncpassword
soff/ubuntu-xfce-vnc - Docker Hub https://hub.docker.com/r/soff/ubuntu-xfce-vnc
Dc私有云平台 http://49.233.7.58:18080/#/images
包括所有的docker镜像:
consol/centos-xfce-vnc - Docker Hub https://hub.docker.com/r/consol/centos-xfce-vnc/
soff/ubuntu-xfce-vnc - Docker Hub https://hub.docker.com/r/soff/ubuntu-xfce-vnc

docker配置novnc

centos xfce tigervnc novnc web访问
大数据平台使用的docker镜像是soff/ubuntu-xfce-vnc
46e24bc3b455:1 () - noVNC http://49.233.7.58:6901/vnc.html?password=vncpassword
Dc私有云平台 http://49.233.7.58:18080/#/containers
service docker restart
service docker status
service docker start
http://192.168.0.113:6901/?password=vncpassword/
http://192.168.0.113:6902/?password=vncpassword

service docker start
service docker restart
service docker status
sudo docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc
docker run -d -p 5902:5901 -p 6902:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run –privileged=true –name ubuntu6902 -d -p 5902:5901 -p 6902:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run –privileged=true –name ubuntu6901 -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run –privileged=true –name centos6901 -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc /usr/sbin/init
docker run –privileged=true –name centos6902 -d -p 5902:5901 -p 6902:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
docker run -d -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
caf289665bb2:1 () - noVNC http://49.233.7.58:6901/vnc.html?password=vncpassword
caf289665bb2:1 () - noVNC http://49.233.7.58:6901/?password=vncpassword
soff/ubuntu-xfce-vnc - Docker Hub https://hub.docker.com/r/soff/ubuntu-xfce-vnc
Dc私有云平台 http://49.233.7.58:18080/#/images
docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc
浏览器,直接访问:http://ip:6901
VNC:ip:5901
默认密码 vncpassword 即可。
新版:
https://hub.docker.com/r/soff/ubuntu-xfce-vnc
shipyard中文版安装教程(附安装脚本) - L-Rui - 博客园 https://www.cnblogs.com/Rui6/p/14046241.html
https://www.cnblogs.com/Rui6/p/14046241.html
NoVNC API 文档翻译 - 贱书生 - 博客园 https://www.cnblogs.com/rnckty/p/10900950.html
novnc使用 - 简书 https://www.jianshu.com/p/9e3e56fcdc5d
1.下载novnc
git clone git://github.com/kanaka/noVNC
2.宿主机运行代理websockify.py
./websockify.py –target-config=/mnt/one 29789
其中—target-config 指定一个目录,此目录下有配置文件,一台虚拟机对应一个文件文件格式如下,5902为端口,vm1为唯一的标识,网页vnc登陆需要的标识。
vm1: localhost:5902
可以每创建一台虚拟机,就在相应的目录下创建一个文件
noVNC https://novnc.com/info.html
novnc/noVNC: VNC client web application https://github.com/novnc/noVNC
[](https://github.com/novnc/noVNC https://github.com/novnc/noVNC
webvnc利器-noVNC集成实战 - yanghuahui - 博客园 https://www.cnblogs.com/yanghuahui/p/3574388.html
为SolusVM的noVNC增加粘贴功能 - 技术文档 - 普创网络 https://www.pccv.com/tech/87.html
)
本地的novnc连接地址:
9d445b633cd2:1 () - noVNC http://localhost:6902/vnc.html?password=vncpassword 带剪贴板功能
noVNC http://localhost:6901/vnc_lite.html??password=vncpassword
shipyard中文版安装教程(附安装脚本) - L-Rui - 博客园 https://www.cnblogs.com/Rui6/p/14046241.html
https://www.cnblogs.com/Rui6/p/14046241.html

docker+Guacamole安装记录

使用Apache Guacamole连接虚拟云桌面 - 云+社区 - 腾讯云
https://cloud.tencent.com/developer/article/1339957
docker服务重启 - 简书
https://www.jianshu.com/p/7acc784c0376
(5条消息)docker 安装完成后测试hello-world出现问题(Unable to find image hello-world:latest locally)_运维_来自丹麦的天籁-CSDN博客
https://blog.csdn.net/wireless911/article/details/88989620
Guacamole 远程桌面丶一个站在Java后端设计之路的男青年个人博客网站
https://www.liangzl.com/get-article-detail-3175.html
(5条消息)Guacamole搭建_运维_桌上的阳光-CSDN博客
https://blog.csdn.net/Yg854879464/article/details/82151314
docker之Dockerfile实践 - wadeson - 博客园
https://www.cnblogs.com/jsonhc/p/7767669.html
Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole - 王宇夫 - 博客园
https://www.cnblogs.com/wangyufu/p/5522832.html
openstack及docker混合云搭建:
OpenStack集成Docker - 振宇要低调 - 博客园 实践
https://www.cnblogs.com/zhenyuyaodidiao/p/4466733.html
(5条消息)Docker学习笔记 — Docker与OpenStack集成_运维_Just for fun-CSDN博客
https://blog.csdn.net/wangtaoking1/article/details/45065923
深度解析Docker和OpenStack系统集成 | 博客水木 写的很全
http://www.4u4v.net/shen-du-jie-xi-docker-he-openstack-xi-tong-ji-cheng.html
解析OpenStack与Docker集成 - 分布式/云计算/大数据 - 服务器软件 - 深度开源 架构
https://www.open-open.com/pdf/5b2449d3c1554587b41f4cc2003d5c0a.html

包括所有的docker镜像

consol/centos-xfce-vnc - Docker Hub https://hub.docker.com/r/consol/centos-xfce-vnc/
soff/ubuntu-xfce-vnc - Docker Hub https://hub.docker.com/r/soff/ubuntu-xfce-vnc
可直接用浏览器打开的无头计算机,包含 Chrome 与 Firefox,支持 VNC、RDP 协议[Docker] - 小众软件 https://www.appinn.com/xfce-vnc-and-rdp/
Home在线应用可直接用浏览器打开的无头计算机,包含 Chrome 与 Firefox,支持 VNC、RDP 协议[Docker]
https://hub.docker.com/r/consol/centos-xfce-vnc/dockerfile
https://hub.docker.com/r/soff/ubuntu-xfce-vnc
使用方法
原版:
https://hub.docker.com/r/consol/centos-xfce-vnc/dockerfile
docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc
浏览器,直接访问:http://ip:6901
VNC:ip:5901
默认密码 vncpassword 即可。
新版:
https://hub.docker.com/r/soff/ubuntu-xfce-vnc
shipyard中文版安装教程(附安装脚本) - L-Rui - 博客园 https://www.cnblogs.com/Rui6/p/14046241.html
https://www.cnblogs.com/Rui6/p/14046241.html

Docker 国内镜像

阿里云的加速器:https://help.aliyun.com/document_detail/60750.html
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc 的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)
如果有更好的资源,欢迎通过下面的笔记来分享。

修改vnc和novnc的端口为5902和6902

远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html
vnc 常用操作笔记,启动vncserver,指定端口 - it610.com https://www.it610.com/article/1291233594240475136.htm
vncserver :2
ps -ef|grep vnc
vncserver -kill :1 #关闭第一个vnc进程
vncserver :1 #重启启动vncserver关于参数配置说明:
service vncserver start #重启后服务将自动关闭
chkconfig vncserver on #开机自动启动服务
关于VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下:
桌面号为”1” —- 端口号为5901
桌面号为”2” —- 端口号为5902
桌面号为”3” —- 端口号为5903
如果你不配置防火墙,此时用VNC Viewer连接的话,一般会报:”connect:Connection timed out(10060)”错误,如下所示:
[root@localhost ~]# iptables -I INPUT -p tcp –dport 5901 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp –dport 5902 -j ACCEPT
1:-geometry 表示桌面分辨率,默认为1024x768,所以上面的1024x768也可以不写。
2:-nohttpd 表示不监听HTTP端口(58xx)。
3:-nolisten tcp 表示不监听TCP端口(60xx)
4:-localhost 只运行从本机访问。
5:AlwaysShared 默认只允许一个VNCVIEWER连接,此参数表示同一个显示端口允许多用户同时登录.
6:-depth 表示色深,参数有8,16,24,32.
7: SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect
vnc 常用操作笔记,启动vncserver,指定端口 | 学步园 https://www.xuebuyuan.com/1004517.html
1.[root@anhnfts nutch]# vncserver :2 #意思就是5900+2即5902端口号启动
(25条消息) VNC 修改默认端口号_weixin_33720956的博客-CSDN博客 https://blog.csdn.net/weixin_33720956/article/details/85798585
远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html 非常重要,建议多看几遍
远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html

Docker Dockerfile

什么是 Dockerfile?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
推送镜像
用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。
以下命令中的 username 请替换为你的 Docker 账号用户名wwww6662003。
$ docker tag ubuntu:18.04 username/ubuntu:18.04
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED …
ubuntu 18.04 275d79972a86 6 days ago …
username/ubuntu 18.04 275d79972a86 6 days ago …
$ docker push username/ubuntu:18.04
$ docker search username/ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
username/ubuntu
Docker Hub https://hub.docker.com/

如果你有多个容器之间需要互相连接,推荐使用 Docker Compose,后面会介绍。

新建网络
下面先创建一个新的 Docker 网络。
$ docker network create -d bridge test-net
参数说明:
-d:参数指定 Docker 网络类型,有 bridge、overlay。
其中 overlay 网络类型用于 Swarm mode,在本小节中你可以忽略它。
连接容器
运行一个容器并连接到新建的 test-net 网络:
$ docker run -itd –name test1 –network test-net ubuntu /bin/bash
打开新的终端,再运行一个容器并加入到 test-net 网络:
$ docker run -itd –name test2 –network test-net ubuntu /bin/bash
下面通过 ping 来证明 test1 容器和 test2 容器建立了互联关系。
如果 test1、test2 容器内中无 ping 命令,则在容器内执行以下命令安装 ping(即学即用:可以在一个容器里安装好,提交容器到镜像,在以新的镜像重新运行以上俩个容器)。
apt-get update
apt install iputils-ping
两种方式的区别是:
-P :是容器内部端口随机映射到主机的高端口。
-p :是容器内部端口绑定到指定的主机端口。
通过网络端口来访问运行在 docker 容器内的服务。
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。
-p 标识来指定容器端口绑定到主机端口。 人工绑定主机和docker的端口
-P 自动绑定主机和docker的端口

Docker 容器互联

端口映射并不是唯一把 docker 连接到另一个容器的方法。
docker 有一个连接系统允许将多个容器连接在一起,共享连接信息。
docker 连接会创建一个父子关系,其中父容器可以看到子容器的信息。
我们实现了通过网络端口来访问运行在 docker 容器内的服务。

创建镜像

当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
1、从已经创建的容器中更新镜像,并且提交这个镜像
2、使用 Dockerfile 指令来创建一个新的镜像
REPOSITORY:TAG 来定义不同的镜像。
下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune
docker run -itd –name ubuntu-test ubuntu /bin/bash 在后台以进程方式运行容器
注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。
docker exec -it 243c32535da7 /bin/bash 进入容器当退出时不会导致容器退出,其它的都会
注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。
更多参数说明请使用 docker exec –help 命令查看

云环境配置及使用过程记录

Linux 云服务器 | 菜鸟教程 https://www.runoob.com/linux/linux-cloud-server.html
docker的使用—创建新的镜像(通过修改容器,个人练手理解过程记录,不推荐使用) - luckylemon - 博客园 https://www.cnblogs.com/yy-cola/p/10417083.html
(12条消息)CentOS7用阿里云Docker Yum源在线安装Docker 17.03.2_运维_锐意工作室-CSDN博客 https://blog.csdn.net/nklinsirui/article/details/80610058
(12条消息)安装图形化界面consol/centos-xfce-vnc_运维_abcdrachel的博客-CSDN博客 https://blog.csdn.net/abcdrachel/article/details/94575571
docker run –privileged=true –name centos6901 -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc /usr/sbin/init
http://49.233.7.58:6901/vnc.html?password=vncpassword
http://49.233.7.58:6901/vnc_lite.html?password=vncpassword
安装 - LNMP一键安装包 https://lnmp.org/install.html
LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd) - LNMP一键安装包 https://lnmp.org/faq/ftpserver.html
http://49.233.7.58/
http://49.233.7.58/defaultbak/phpmyadmin/
LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd) - LNMP一键安装包 https://lnmp.org/faq/ftpserver.html
MobaXterm1_CHS1.exe 全能终端ssh、ftp、rdp等
/home/wwwroot/default/
Docker三剑客:Compose、Machine和Swarm_运维_wfs-CSDN博客 https://blog.csdn.net/wfs1994/article/details/80601027
docker镜像提交:
docker commit -m “add-novnc-images” -a “ww-20200524” 5c6073466285 consol/centos-xfce-vnc:v2
docker通过镜像启动容器
docker run –privileged -d -p 5902:5901 -p 6902:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc:v3 /usr/sbin/init
Linux 云服务器 | 菜鸟教程 https://www.runoob.com/linux/linux-cloud-server.html
LNMP状态管理命令 - LNMP一键安装包 https://lnmp.org/faq/lnmp-status-manager.html
LNMP状态管理命令:
LNMP 1.2+状态管理: lnmp {start|stop|reload|restart|kill|status}
LNMP 1.2+各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
LNMP 1.1状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
Redis状态管理: /etc/init.d/redis {start|stop|restart|kill}
(12条消息)centos7.6下搭建vsftpd服务(ftp服务器)_操作系统_hello PHP的博客-CSDN博客 https://blog.csdn.net/shj_php/article/details/86572178
1、下载vsftpd yum -y install vsftpd*
2、查看安装路径和配置文件位置 rpm -ql vsftpd|more
3、启动vsftpd服务器 systemctl restart vsftpd.service 或者:service vsftpd.service start
4、查看vsftpd服务是否起来 ps -ef|grep vsftp
5、查看端口(21号端口) netstat -tunlp|grep 21
6、ifconfig查看linux的ip地址 ifconfig查看后为:192.168.253.133
7、在windows下打开:ftp://192.168.253.133/,既可以看到刚刚创建的ftp服务器文件
FTP权限问题解析,553 Can’t open that file: Permission denied - Skrillex - 博客园 https://www.cnblogs.com/Skrillex/p/10809615.html
目录的所属组,所属用户属于root, 导致FTP无法上传, 修改组和所属用户为www即可
chown -fR www ./*
Docker三剑客安装:Compose、Machine和Swarm_运维_wfs-CSDN博客 https://blog.csdn.net/wfs1994/article/details/80601027
/etc/yum.repos.d/epel.repo 无法用yum安装
docker commit -m “add_jdk_hadoop” -a “ww-20200522” 7e5f11566ff8 consol/centos-xfce-vnc:v2
docker run –privileged=true –name centos6901 -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc /usr/sbin/init
noVNC会与idm下载软件冲突,可能idm有代理的原因

docker容器和宿主机的文件交互

简书 https://www.jianshu.com/p/9f75038ef4b5
如何查看容器id
sudo docker -ps
1、从容器往宿主机copy
sudo docker cp 容器id:/path_in_container /path_on_host
2、从宿主机往容器copy
sudo docker cp /pathonhost 容器id:/容器的路径
如何在Docker容器和主机之间共享数据?_部署 https://www.sohu.com/a/325487776_185201
(10条消息)docker 宿主机与容器里文件共享 -v和 VOLUME_运维_zhuchunyan_aijia的博客-CSDN博客 https://blog.csdn.net/zhuchunyan_aijia/article/details/80094644
远程桌面管理工具novnc的搭建和使用-解决网 https://www.solves.com.cn/it/wl/rj/2019-09-18/4993.html
nohup 你的shell命令 &

NoVNC的使用

让我们把NoVNC代理跑起来 - 麻烦处… - ITeye博客 https://www.iteye.com/blog/xiaolin0199-2121768
进入正在运行的Docker容器的4种方式 - 简书 https://www.jianshu.com/p/e2dfb2e7ff3c
amateur-RD/noVNC: VNC client using HTML5 (Web Sockets, Canvas) with encryption (wss://) support. https://github.com/amateur-RD/noVNC 带简体中文
sudo docker exec -it 742fa4d69377 /bin/bash
sudo docker exec -it 742fa4d69377 /bin/bash
容器外执行:
sudo docker exec -it 742fa4d69377 bash /headless/noVNC/utils/launch.sh –vnc localhost:5904 –listen 6904
sudo docker exec -it 742fa4d69377 /usr/bin/python /headless/noVNC/utils/websockify/run –web /headless/noVNC/utils/../ 6904 localhost:5904
bash /headless/noVNC/utils/launch.sh –vnc localhost:5904 –listen 6904
/usr/bin/python /headless/noVNC/utils/websockify/run –web /headless/noVNC/utils/../ 6904 localhost:5904
/usr/bin/Xvnc :1 -auth /headless/.Xauthority -depth 24 -desktop 742fa4d69377:1 () -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /headless/.vnc/passwd -rfbport 5904 -rfbwait 30000
/usr/bin/python /headless/noVNC/utils/websockify/run –web /headless/noVNC/utils/../ 6901 localhost:5901
/usr/bin/python /headless/noVNC/utils/websockify/run –web /headless/noVNC/utils/../ 6901 localhost:5901
NoVNC远程连接 - 简书 https://www.jianshu.com/p/0f3b351a156c 经典有帮助
noVNC http://192.168.99.243:6901/vnc_lite.html??password=vncpassword 自已修改的剪贴板
62cf44935e1c:1 () - noVNC http://192.168.99.243:6902/vnc.html?password=vncpassword 自带的剪贴板
远程桌面连接vpc中的centos7
14_使用windows自带的远程桌面mstsc连接Centos7.x远程桌面 - 简书 https://www.jianshu.com/p/63dce85dc958

centos7下面的web桌面

noVNC http://localhost:6901/?password=vncpassword/
docker-headless-vnc-container,Docker 映像的集合,带有无外设的VNC环境,下载docker-headless-vnc-container的源码_GitHub_酷徒 https://www.kutu66.com/GitHub/article_131717
yum提示“Cannot retrieve metalink for repository: epel/x86_64” 解决方法 - 付杰博客 https://www.fujieace.com/linux/epel-x86_64.html
yum错误Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again - 简书 https://www.jianshu.com/p/dc86e50a75ba
解决错误Cannot retrieve metalink for repository: epel/x86_64_运维_tfel-ypoc-CSDN博客 https://blog.csdn.net/sean908/article/details/89335289
(6条消息)解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题_运维_sinat_39589027的博客-CSDN博客 https://blog.csdn.net/sinat_39589027/article/details/85323996
ConSol/docker-headless-vnc-container: Collection of Docker images with headless VNC environments https://github.com/ConSol/docker-headless-vnc-container
docker-headless-vnc-container,Docker 映像的集合,带有无外设的VNC环境,下载docker-headless-vnc-container的源码_GitHub_酷徒 https://www.kutu66.com/GitHub/article_131717
docker-headless-vnc-container,Docker 映像的集合,带有无外设的VNC环境,下载docker-headless-vnc-container的源码_GitHub_酷徒 https://www.kutu66.com/GitHub/article_131717 好文章
GitHub - ConSol/docker-headless-vnc-container: Collection of Docker images with headless VNC environments https://github.com/ConSol/docker-headless-vnc-container
consol/centos-xfce-vnc Dockerfile - Docker Hub https://hub.docker.com/r/consol/centos-xfce-vnc/dockerfile
Centos 7 安装 xfce+VNC - 简书 https://www.jianshu.com/p/6c99a4e37890
noVNC云端桌面之web控制linux http://www.360doc.com/content/17/0225/15/40258364_631920677.shtml
CentOS搭建xfce桌面+VNC教程 | 微魔部落 https://www.vmvps.com/centos-install-xfce-and-vnc-tutorial.html
CentOS:Xfce+VNC安装 - 红尘一人 - 博客园 https://www.cnblogs.com/jpeg/p/centos6-install-xfce-and-vnc.html
IceWM_百度百科 https://baike.baidu.com/item/IceWM/2876383?fr=aladdin
linux桌面环境gnome,kde,xfce,lxde 使用比较_LINUX_操作系统_脚本之家 https://www.jb51.net/LINUXjishu/78428.html

本地镜像配置

novnc2 http://localhost:6080/ lxcd镜像dorowu/ubuntu-desktop-lxde-vnc,尽量不使用,这个和9090是一样的
novnc2 http://localhost:6080/ xfce-需要密码,镜像是yangxuan8282/alpine-xfce4-novnc:amd64,部署完成后,就可以访问:http://ip:6080 默认的 vnc密码是alpinelinux,Oracle Cloud韩国云主机Docker安装Xfce桌面环境(alpine-xfce4-novnc) - 大鸟博客 https://www.daniao.org/6621.html
novnc2 http://localhost:9090/ 镜像是dorowu/ubuntu-desktop-lxde-vnc:v2,安装有vim,下次安装java,配置hadoop环境,
ubuntu安装Java环境 - 默默划水的YC - 博客园 https://www.cnblogs.com/Yatces/p/10513701.html
Dc私有云shipyard平台 http://localhost:8080/#/containers
docker创建及提交使用,非常好。
Docker 镜像使用 | 菜鸟教程 https://www.runoob.com/docker/docker-image-usage.html
(6条消息)ubuntu18.0.4安装docker并安装一个centos容器_运维_hanfengweb的博客-CSDN博客 https://blog.csdn.net/hanfengweb/article/details/82942778
Centos7下安装Docker(详细的新手装逼教程) - 卿老师 - 博客园 https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html
CentOS 7.4 64-bit 下载 – 任我乐 https://renwole.com/tags/centos-7-4-64-bit-%e4%b8%8b%e8%bd%bd
1、更新系统安装包sudo apt-get update
2、安装命令:sudo apt-get install docker
apt install docker.io
3、启动:systemctl start docker.service
systemctl enable docker.service
4、搜索相关容器:docker search centos
5、下载一个容器名为centos的容器:docker pull centos (容器名根据个人习惯命名)
6、安装系统进容器:docker images centos
7、启动容器centos: docker run -d -i -t centos /bin/bash (-d是让容器在后台一直运行)
8、查看容器ID :docker ps
9、登录容器centos :docker attach ID (前5-8位都可以)

云桌面

云桌面-docker-ubuntu-vnc-desktop,好几次没弄成功,最近在线课堂 在线实验环境用的比较多就是这个,参考以下4个网址配置即可
本地已配置好,novnc2 http://localhost:6080/
Ubuntu18.04安装docker - 市丸银 - 博客园 https://www.cnblogs.com/wt7018/p/11880666.html 这个靠谱,安装成功
(5条消息)docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled_运维_BigData_Mining的博客-CSDN博客 https://blog.csdn.net/BigData_Mining/article/details/87869147 这个靠谱,安装成功
网页镶嵌虚拟机?Ubuntu云桌面?Docker-ubuntu-vnc-desktop - 简书 https://www.jianshu.com/p/8c52c2432b22 这个靠谱,安装成功
宿主主机如何访问虚拟机中的docker服务 - XueXueLai - 博客园 https://www.cnblogs.com/DiZhang/p/12544743.html
fcwu/docker-ubuntu-vnc-desktop: Docker image to provide HTML5 VNC interface to access Ubuntu LXDE and LXQT desktop environment https://github.com/fcwu/docker-ubuntu-vnc-desktop
另外一种云桌面:ubuntu-xfce-vnc-desktop
Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole - 王宇夫 - 博客园 https://www.cnblogs.com/wangyufu/p/5522832.html
https://gitee.com/wangyufu/docker_guacamole/tree/master/ubuntu-xfce-vnc-desktop
ubuntu-xfce-vnc-desktop · 王宇夫/docker_guacamole - 码云 - 开源中国 https://gitee.com/wangyufu/docker_guacamole/tree/master/ubuntu-xfce-vnc-desktop
docker run -it –rm -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -it -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -i -t –rm -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc 退出删除镜像–rm,不加–rm 退出容器后,容器只是停止运行,数据任然被保留。
docker run -i -t -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run -p 6080:80 -e RESOLUTION=800x600 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run -dit –name ubuntu -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=VNC登录的密码 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run –name=’ubuntu’ -p 37080:80 -p 35900:5900 –shm-size=2000m –restart always -v ~/.docker/ubuntu/dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
一起玩”Docker”之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像 - luyanjie - 博客园 https://www.cnblogs.com/luyanjie/p/9656863.html
Docker 镜像和容器的区别详解_docker_脚本之家 https://www.jb51.net/article/95259.htm
一、Docker镜像
要理解Docker镜像和Docker容器之间的区别,确实不容易。
假设Linux内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。
一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层的镜像(除了最顶层)我们称之为父层镜像(Parent Image)。这些镜像继承了他们的父层镜像的所有属性和设置,并在Dockerfile中添加了自己的配置。
Docker镜像通过镜像ID进行识别。镜像ID是一个64字符的十六进制的字符串。但是当我们运行镜像时,通常我们不会使用镜像ID来引用镜像,而是使用镜像名来引用。要列出本地所有有效的镜像,可以使用命令
docker images
镜像可以发布为不同的版本,这种机制我们称之为标签(Tag)。
二、Docker容器
Docker容器可以使用命令创建:
docker run imagename
它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。当我们使用docker run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出态。
当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对它所做的一切变更都会永久地写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统的,而不是写入到Docker镜像中的。
我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。
如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。
如果想更新容器到其镜像的新版本,那么必须当心,确保我们是以正确的方式构建了数据结构,否则我们可能会导致损失容器中所有数据的后果。
64字符的十六进制的字符串来定义容器ID,它是容器的唯一标识符。容器之间的交互是依靠容器ID识别的,由于容器ID的字符太长,我们通常只需键入容器ID的前4个字符即可。当然,我们还可以使用容器名,但显然用4字符的容器ID更为简便。
docker 通过bridge网络映射端口到宿主机,也可映射到指定ip:port。如:
docker run -d –name nginx1 –publish 18080:80 nginx
docker run -d –name nginx2 –publish 28080:80 nginx
以上两个nginx如果通过宿主机不同端口访问
(5条消息)用docker启动ubuntu的桌面环境_运维_u014062332的专栏-CSDN博客 https://blog.csdn.net/u014062332/article/details/95333615
shipyard中文版安装教程(附安装脚本) - 风吹我已散博客 https://www.fcwys.cc/archives/145.html
https://up.fcwys.cc/soft/shipyard.tar.gz
云桌面自已动手修改dicfile,自已编译镜像,可以加入自已的软件
用docker创建ubuntuVNC桌面_青峰侠4578_新浪博客 http://blog.sina.cn/dpool/blog/s/blog_cfab46ed0102y8mt.html
解决virtualbox共享文件夹没有访问权限的问题 - 星夜之夏 - 博客园 https://www.cnblogs.com/xia-weiwen/p/8215350.html
(5条消息)如何在docker中运行ubuntukylin桌面系统_运维_readlnh的博客-CSDN博客 https://blog.csdn.net/readlnh/article/details/89401422

容器与云|20个令人惊叹的桌面Docker容器 https://linux.cn/article-5579-1.html

centos6服务器上通过docker安装Ubuntu的web桌面版 - hot小热 - 博客园 https://www.cnblogs.com/zhangkaipc/p/11398064.html
(5条消息)构建带桌面系统(Desktop)的Docker Image(Centos6版本)_运维_u013884777的专栏-CSDN博客 https://blog.csdn.net/u013884777/article/details/79866474
docker: 构建自己的镜像 - 一张红枫叶 - 博客园 https://www.cnblogs.com/zhanghongfeng/p/11569109.html

Docker Swarm 搭建 Nginx 服务 - yvhqbat - 博客园 https://www.cnblogs.com/walkinginthesun/p/9570862.html

docker挂载volume的用户权限问题,理解docker容器的uid - Ryan.Miao - 博客园 https://www.cnblogs.com/woshimrf/p/understand-docker-uid.html
linux find查找文件/目录 - 唐三通 - 博客园 https://www.cnblogs.com/JcHome/p/10852949.html
-type 按类型进行查找,d查找目录,f查找文件
find . –type d –name [document]
find . type f –name [filename]
可以使用这个非常好用(八)Docker Swarm 搭建 Nginx 服务 - yvhqbat - 博客园 https://www.cnblogs.com/walkinginthesun/p/9570862.html
重要重要(八)Docker Swarm 搭建 Nginx 服务 - yvhqbat - 博客园 https://www.cnblogs.com/walkinginthesun/p/9570862.html
docker从零开始 存储(二)volumes 挂载 - benjamin杨 - 博客园 https://www.cnblogs.com/benjamin77/p/9512537.html
docker exec -it mynginx /bin/sh
docker-machine create -d virtualbox swarm-manager
docker-machine ls
docker-machine ssh swarm-manager
docker-machine start swarm-manager swarm-worker1 swarm-worker2
docker-machine stop swarm-manager swarm-worker1 swarm-worker2
docker-machine restart swarm-manager swarm-worker1 swarm-worker2
docker swarm init –advertise-addr 192.168.99.107 #这里的 IP 为创建机器时分配的 ip。
docker info
docker service create –replicas 1 –name nginx alpine ping docker.com
docker service ps nginx
docker service inspect –pretty nginx
docker service scale nginx=2
docker service rm nginx
docker node ls
docker run -dit –name nginx -P -v my_volume:/usr/share/nginx/html nginx:latest
docker volume ls
docker network ls
docker swarm init
docker service ls
docker container ls
docker service –help
docker service inspect nginx
docker-machine start swarm-manager swarm-worker1 swarm-worker2
docker volume create my-vol
docker volume ls
docker stop devtest
docker volume rm my-vol
docker volume inspect my_volume 查看卷my_volume
[
{
“CreatedAt”: “2020-12-30T12:21:11Z”,
“Driver”: “local”,
“Labels”: null,
“Mountpoint”: “/mnt/sda1/var/lib/docker/volumes/my_volume/_data”,
“Name”: “my_volume”,
“Options”: null,
“Scope”: “local”
}
]
ls /mnt/sda1/var/lib/docker/volumes/my_volume/_data 卷的目录
ls /usr/share/nginx/html 容器内的目录
sudo passwd root 先修改一下密码
su root 然后再以root登陆
Docker Swarm 搭建 Nginx 服务 - yvhqbat - 博客园 https://www.cnblogs.com/walkinginthesun/p/9570862.html
docker service ps nginx
docker service inspect nginx
docker volume ls
重要重要(25条消息) 使用Docker Machine搭建Docker Swarm集群并部署nginx服务_仲夏宁叶香的博客-CSDN博客 https://blog.csdn.net/m82_a1/article/details/94719485
docker service create –replicas 3 -p 80:80 –mount type=volume,source=my_volume,destination=/usr/share/nginx/html –name nginx nginx:latest
docker service create –replicas 3 -p 80:80 destination=/usr/share/nginx/html –name nginx nginx:latest
docker service create –replicas 3 -p 80:80 –mount type=volume,source=my_volume,destination=/usr/share/nginx/html –name nginx nginx:latest
docker service create –replicas 3 -p 80:80 –mount type=volume,source=my_volume,destination=/usr/share/nginx/html –name nginx nginx:1.13.7-alpine
docker service create –replicas 3 -p 80:80 –name nginx nginx:1.13.7-alpine
(25条消息) Docker Swarm nginx 集群搭建_JineD的博客-CSDN博客 https://blog.csdn.net/jined/article/details/106127329
docker-machine是解决docker运行环境问题。docker技术是基于Linux内核的cgroup技术实现的,那么问题来了,如果在非Linux平台上使用docker技术需要依赖安装Linux系统的虚拟机。docker-machine就是docker公司官方提出的,用于在各种平台上快速创建具有docker服务的虚拟机的技术。你可以把它理解为virtualbox或者vmware,最开始在win7上用得比较多,但是win10开始自带了hyper-v虚拟机,已经不再需要docker-machine了,docker可以直接运行在安装了Linux系统得hyper-v上。docker-composedcoker-compose主要是解决本地docker容器编排问题。一般是通过yaml配置文件来使用它,这个yaml文件里能记录多个容器启动的配置信息(镜像、启动命令、端口映射等),最后只需要执行docker-compose对应的命令就会像执行脚本一样地批量创建和销毁容器。docker-swarmdocker-swarm是解决多主机多个容器调度部署得问题。swarm是基于docker平台实现的集群技术,他可以通过几条简单的指令快速的创建一个docker集群,接着在集群的共享网络上部署应用,最终实现分布式的服务。swarm技术相当不成熟,很多配置功能都无法实现,只能说是个半成品,目前更多的是使用Kubernetes来管理集群和调度容器。总结:如果你是在非Linux环境下考虑使用docker-compose,当然我更推荐使用hyper-v或者virtualbox。如果你需要同时操作多个容器,或者希望使用配置文件记录容器启动命令参数,那么推荐使用docker-compose。如果你需要在多台主机上部署docker容器,并对其进行调度,那么swarm是一种选择,当然更推荐Kubernetes。
(25条消息) Docker Swarm基础概念理解_仲夏宁叶香的博客-CSDN博客 https://blog.csdn.net/M82_A1/article/details/94440813
(25条消息) Linux下安装docker-machine(附带二进制文件)_仲夏宁叶香的博客-CSDN博客 https://blog.csdn.net/M82_A1/article/details/94643959
Install Docker Machine | Docker Documentation https://docs.docker.com/machine/install-machine/
docker/machine: Machine management for a container-centric world https://github.com/docker/machine
(25条消息) 使用Docker Machine搭建Docker Swarm集群并部署nginx服务_仲夏宁叶香的博客-CSDN博客 https://blog.csdn.net/m82_a1/article/details/94719485
docker swarm join –token SWMTKN-1-5xl1ur8rnjld27ovywjola6ugpgajq3arbem0ysegiekfq75bv-70bjv0wyc4y8i95grutj49h27 192.168.99.101:2377
Docker Machine-Windows - 墨鱼菜鸡 - 博客园 https://www.cnblogs.com/csnd/p/12061830.html
docker exec -i -t mynginx /bin/bash

linux和windows安装noVNC以web方式访问:linux配置novnc通过web访问服务器

NoVNC—以Web方式交付VNC远程连接_linux丶晨星-CSDN博客 https://blog.csdn.net/qq_37242520/article/details/103688221
ubuntu配置novnc通过web访问服务器_happyday_d的博客-CSDN博客 https://blog.csdn.net/happyday_d/article/details/100514110
Ubuntu基础镜像安装xfce、xvfb、vnc的Dockerfile - 王宇夫 - 博客园 https://www.cnblogs.com/wangyufu/p/5481716.html
Ubuntu18.04安装Xfce桌面与VNC远程工具_fxb163的博客-CSDN博客 https://blog.csdn.net/fxb163/article/details/84193098
在Ubuntu16.04上安装novnc服务_magaiou的博客-CSDN博客 https://blog.csdn.net/magaiou/article/details/80509614
CentOS安装noVNC,以Web方式交付VNC远程连接 | varlemon https://www.cnblogs.com/connect/p/linux-novnc.html
noVNC云端桌面之web控制linux http://www.360doc.com/content/17/0225/15/40258364_631920677.shtml 非常重要,建议多看几遍
3.16 Dockfile—–Dockerfile的使用,和Docfile的优化_手捧日月摘星晨的博客-CSDN博客_docfile 非常重要,建议多看几遍https://blog.csdn.net/qq_41627390/article/details/88625915
远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html 非常重要,建议多看几遍
远程管理之VNC - yuanbangchen - 博客园 https://www.cnblogs.com/Yuanbangchen/p/5795728.html
Docker Dockerfile | 菜鸟教程 https://www.runoob.com/docker/docker-dockerfile.html 非常重要,建议多看几遍
包括所有的docker镜像:
consol/centos-xfce-vnc - Docker Hub https://hub.docker.com/r/consol/centos-xfce-vnc/
soff/ubuntu-xfce-vnc - Docker Hub https://hub.docker.com/r/soff/ubuntu-xfce-vnc

windows的nosql应用

noVNC在Windows下的应用_jmal的博客-CSDN博客 https://blog.csdn.net/qq_33222132/article/details/61199947
node C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify-js\websockify\websockify.js –web C:\Users\Administrator\AppData\Roaming\npm\node_modules\noVNC 9000 localhost:5900
node C:\Users\Administrator\AppData\Roaming\npm\node_modules\websockify-js\websockify\websockify.js –web C:\Users\Administrator\AppData\Roaming\npm\node_modules\noVNC 6868 localhost:5900
noVNC在Windows下的应用_jmal的博客-CSDN博客 https://blog.csdn.net/qq_33222132/article/details/61199947
CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机 - yuanfan2012的个人空间 - OSCHINA - 中文开源技术交流社区 https://my.oschina.net/u/4113630/blog/4377221
开源项目 QEMU、KVM、libvirt 实现了创建虚拟机,启动虚拟机,监控虚拟机。我们解决了从无到有的问题,这时就该考虑从有到优了。尽管我们能使用 SSH 的方式来登录使用虚拟机,但这种方式从感觉欠缺点什么,用户往往会更喜欢绚丽多彩的东西。
事实上 VNC 的客户端很多,诸如 VNC Viewer,TightVNC,RealVNC 等。然而我们需要的是 web 版的 VNC,自然而然我选择了 noVNC。

RealVNC(WinVNC)

RealVNC(WinVNC)远程控制软件破解版下载-华军软件园 https://www.onlinedown.net/soft/3194.htm
1、如何启动VNC服务?
使用vncserver命令启动VNC服务,命令格式为“vncserver:桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下
[root @ testdb] #vncserver:1
您将需要密码才能访问您的桌面。
密码:
验证:
xauth:创建新的授权文件/root/.Xauthority
新的’testdb:1(root)’桌面是testdb:1
创建默认启动脚本。/root/.vnc/xstartup
启动/root/.vnc/xstartup中指定的应用程序
日志文件是/root/.vnc/testdb:1.log
以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的子目录.vnc(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立的xstartup配置文件(/根/。 vnc / xstartup),在每次启动VND服务时,都会读取该文件中的配置信息
.BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号
2、VNC服务使用的端口号与桌面号有什么关系?
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1”—-端口号为5901
桌面号为“2”—-端口号为5902
桌面号为“3”—-端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1”—-端口号为5801
桌面号为“2”—-端口号为5802
桌面号为“3”—-端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root @ testdb
] #iptables -I INPUT -p tcp –dport 5901 -j ACCEPT
[root @ testdb~] #iptables -I INPUT -p tcp –dport 5801 -j ACCEPT
3、如何测试VNC?
查看器软件登陆测试,操作流程如下
启动VNC Viewer软件 - >服务器输入“144.194.192.183:1” - >点击“确定” - >密码输入登陆密码 - >点击“确定”登陆到X-Window图形桌面环境 - >测试成功
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
地址栏输入http://144.194.192.183:5801/ - >出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC查看器对话框,在服务器处输入“144.194。 192.183:1“点击”确定“ - >密码输入登陆密码 - >点击”确定“登陆到X-Window图形桌面环境 - >测试成功
(注:VNC查看器for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)
Windows下网页连接VNC操作手册_李奇峰的博客-CSDN博客 https://blog.csdn.net/mrliqifeng/article/details/73825934
Releases · TigerVNC/tigervnc · GitHub https://github.com/TigerVNC/tigervnc/releases
Explore https://hub.docker.com/search?q=windows&type=image
dorowu/ubuntu-desktop-lxde-vnc https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc
Windows下网页连接VNC操作手册_李奇峰的博客-CSDN博客 https://blog.csdn.net/mrliqifeng/article/details/73825934
如何在 Docker 容器里装 windows,并且访问系统桌面? - V2EX https://www.v2ex.com/t/404193
可以用vbox虚拟机之类的打包windows虚拟机为一个镜像再打包成docker
Windows中,使用VNC远程连接Docker中的镜像桌面系统_学无止境,终身学习-CSDN博客 https://blog.csdn.net/xq929609968/article/details/97231817

另外一种云桌面:ubuntu-xfce-vnc-desktop

Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole - 王宇夫 - 博客园 https://www.cnblogs.com/wangyufu/p/5522832.html
https://gitee.com/wangyufu/docker_guacamole/tree/master/ubuntu-xfce-vnc-desktop
ubuntu-xfce-vnc-desktop · 王宇夫/docker_guacamole - 码云 - 开源中国 https://gitee.com/wangyufu/docker_guacamole/tree/master/ubuntu-xfce-vnc-desktop
docker run -it –rm -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -it -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -i -t –rm -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc 退出删除镜像–rm,不加–rm 退出容器后,容器只是停止运行,数据任然被保留。
docker run -i -t -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run -p 6080:80 -e RESOLUTION=800x600 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run -dit –name ubuntu -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=VNC登录的密码 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
docker run –name=’ubuntu’ -p 37080:80 -p 35900:5900 –shm-size=2000m –restart always -v ~/.docker/ubuntu/dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
一起玩”Docker”之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像 - luyanjie - 博客园 https://www.cnblogs.com/luyanjie/p/9656863.html
Docker 镜像和容器的区别详解_docker_脚本之家 https://www.jb51.net/article/95259.htm

虚拟机通过Docker启动novnc

su root
docker
ls
docker
ll
cd /wangwei/
ll
git
git clone http://www.github.com/ConSol/docker-headless-vnc-container
sudo git clone http://www.github.com/ConSol/docker-headless-vnc-container
su
su root
su -i
su
ping www.baidu.com
ll
sudo docker build -t consol/centos-icewm-vnc
sudo docker build -t consol/centos-icewm-vnc Dockerfile.centos.icewm.vnc
cd ..
sudo docker build -t consol/centos-icewm-vnc ./docker-headless-vnc-container/Dockerfile.centos.icewm.vnc
cd docker-headless-vnc-container/
sudo docker build -t consol/centos-icewm-vnc -f Dockerfile.centos.icewm.vnc .
su root
ll
sudo docker build -t consol/ubuntu-xfce-vnc -f Dockerfile.ubuntu.xfce.vnc .
sudo docker images
su root
ll
sudo docker build -t consol/ubuntu-icewm-vnc -f Dockerfile.ubuntu.icewm.vnc .
su root
systemctl daemon-reload
service docker restart
service docker status
docker run hello-world
sudo docker run hello-world
service docker status
systemctl daemon-reloaddocker build -t consol/centos-xfce-vnc .
docker build -t consol/centos-xfce-vnc .
sudo docker build -t consol/centos-xfce-vnc .
su root
docker
su root
sudo docker build -t consol/centos-xfce-vnc .
docker build -t consol/centos-xfce-vnc .
systemctl daemon-reload
sudo service docker restart
sudo service docker status
docker build -t consol/centos-xfce-vnc .
sudo docker build -t consol/centos-xfce-vnc .
tailf -5f /var/log/upstart/docker.log
tailf -f /var/log/upstart/docker.log
tailf -5 /var/log/upstart/docker.log
ps | grep docker
su root
ll
sudo docker build -t consol/centos-xfce-vnc .
docker build -t consol/centos-xfce-vnc .
sudo /etc/init.d/docker start
su root
docker run -d -p 5902:5901 -p 6902:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=800x600 consol/centos-xfce-vnc
sudo docker run -d -p 5902:5901 -p 6902:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc
docker ps
su
sudo docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) consol/centos-xfce-vnc
su -
docker ps
sudo docker ps
clear
sudo docker exec -it 742fa4d69377 bash /headless/noVNC/utils/launch.sh –vnc localhost:5904 –listen 6904
sudo docker exec -it 742fa4d69377 /usr/bin/python /headless/noVNC/utils/websockify/run –web /headless/noVNC/utils/../ 6904 localhost:5904
sudo docker exec -it 742fa4d69377 bash /headless/noVNC/utils/launch.sh –vnc localhost:5904 –listen 6904
sudo docker exec -it 742fa4d69377 /bin/bash
ps -ef
sudo docker exec -it 742fa4d69377 /bin/bash
docker ps
sudo docker ps
cd /wangwei/
ls
git clone https://github.com/novnc/noVNC.git
ls
mv noVNC/ noVNC2/
sudo mv noVNC/ noVNC2/
ls
git clone https://github.com/novnc/noVNC.git
sudo git clone https://github.com/novnc/noVNC.git
sudo docker cp /wangwei/noVNC fab2bfd6ca65:/headless/noVNC
docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc
sudo docker run -d -p 5901:5901 -p 6901:6901 –user $(id -u):$(id -g) -e VNC_RESOLUTION=1024x768 consol/centos-xfce-vnc
su
sestatus
vim /etc/sysconfig/selinux
su vim /etc/sysconfig/selinux
su
iconfig
ifconfig
history
history | grep 6902
docker run -d -p 5902:5901 -p 6902:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
sudo docker run -d -p 5902:5901 -p 6902:6901 -e VNC_RESOLUTION=1024x768 soff/ubuntu-xfce-vnc
ps -ef
history