Docker的网络访问
- 查找具有桌面应用的镜像
docker search desk
- 拉取有桌面应用的ubuntu
docker pull sevnew/ubuntu-xfce-vnc-desktop-chrome
- 启动保护态容器(alex 容器名称 ,-d表示保护态)
docker run --name alex -d sevnew/ubuntu-xfce-vnc-desktop-chrome
- clear 清除内容
- 查看正在运行的容器
docker ps
- 进入容器
docker exec -it 容器id bash
- 查看网络设备状态(查看容器ip)
ifconfig
- exit :退出容器
- 查看宿主机网络访问规则
iptables -t nat -L -n
docker默认所有容器都可以连接外部网络 ,外部网络不可以访问容器
- 如果外部网络要访问容器,需要将容器的端口映射到主机的端口
docker run --name mysql -p 123456:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.6.35
(mysql :容器的名称,12345:外部访问端口,3306内部容器mysql端口,-d守护进程,-p端口映射)
阿里云服务器记得开放端口,然后外部就可以访问容器的mysql了
查看映射端口配置
docker port mysql 3306
表示所有外部网络都可以访问
- 只在容器内部进行互相访问方法
模拟各大云计算平台虚拟机控制平台
- 列出本地所有镜像
docker images
-
下载具有桌面应用的ubuntu
-
启动ubuntu (2、3、4参考前边)
-
进入容器看镜像ip
也可直接执行(查看容器ip):docker exec 容器名称 ifconfig
docker exec 表示进入容器内部 -
docker ps看端口
-
执行’git clone git://github.com/kanaka/noVNC’下载noVNC
(没有git先下载git:yum -y install git)
下载vnc太慢怎么办?
6.1、查找域名对应的ip地址
6.2、修改hosts文件
sudo vim /etc/hosts
*6.3、刷新DNS缓存:*sudo ifup eth0
7. 设置防火墙端口允许’iptables -I INPUT -p tcp --dport 5000 -j ACCEPT’
8. 执行’./noVNC/utils/launch.sh --listen 5000 --vnc 172.0.2:5900’运行noVNC (阿里云服务器要配置访问规则)
9. 打开网页,输入IP和端口,注意IP要替换成你主机的IP地址,端口为刚查出的5900默认密码ubuntu。
http://{host IP}:5000/vnc.html?host={host IP}&port=5000
Docker-Dockerfile基础
dockerfile就是配置文件,可以快速构建自定义镜像
- 'mkdir dockerfiles’创建dockerfile文件夹
- pwd :查看绝对路径
- 打开文件 : vi Dockerfile 按住i 插入内容
- 编译文件:docker build -t hello_world:2.01 .
(docker build -t 文件名:版本号 .表示在当前目录下执行) - docker images 之后可以看到多了个hello_world镜像