admin管理员组文章数量:1122847
文章目录
- DockerToolbox-Docker(win)镜像提取
- 安装 DockerToolbox
- 下载软件
- daocloud特性
- 安装git
- 安装dockertoolbox
- 初始化
- 下载镜像
- 启动docker
- 终端链接
- 拉取镜像
- 提取镜像
- 方式1:自带共享文件夹功能
- 方式2:FTP
- 导入镜像
- 部署portainer
- 本地docker
- 远程连接
- 容器克隆
DockerToolbox-Docker(win)镜像提取
- 为什么使用DockerToolBox?
【Docker for Windows 对操作系统要求】 1.操作系统要求必须64位的window10。 2.必须启动Hyper-V 虚拟化来支持。 【Docker ToolBox 对操作系统要求】 1.适合 win7 等老版本系统使用。
安装 DockerToolbox
下载软件
源 | 地址 |
---|---|
官方 | https://github/docker/toolbox/releases |
daocloud | http://get.daocloud.io/#install-docker-for-mac-windows |
aliyun | http://mirrors.aliyun/docker-toolbox/windows/docker-toolbox/?spm=5176.8351553.0.0.4bc61991tQpsnV |
git | https://git-scm/downloads |
daocloud特性
特性:提供并行下载加速
搜索使用 :docker search xx
安装使用: dao pull xx
安装git
直接双机 Git-2.15.1.2-64-bit.exe 安装,所有选项无需修改,全部 “Next” 即可,路径使用默认值。
安装dockertoolbox
初始化
安装后桌面会出现三个图标:
双机打开 “ Docker QuickStart Terminal ”:
如果已安装git,但是未读取到,会提示查找 “bash.exe”文件,直接选择 “C:\Program Files\Git\bin\bash.exe”即可。
此时会检测 “boot2docker.iso”文件是否存在,是否版本已过去,是否能够初始化成功,如果版本过期会联网重新下载,如果初始化失败并确认版本BUG,会提示更新VMBox,此时双机桌面VMBox图标,会提示更新软件,直接点击提示链接下载更新即可,然后重新打开 “ Docker QuickStart Terminal ”。
如果镜像下载失败,则使用本地默认镜像:
复制 C:\Program Files\Docker Toolbox\boot2docker.iso 到 C:\Users\Administrator.docker\machine\cache 即可。
手动下载:boot2docker.iso
源 | 地址(window install) |
---|---|
Oracle VirtualBox | https://www.oracle/technetwork/server-storage/virtualbox/downloads/index.html |
下载镜像
启动docker
双机桌面 “ Docker QuickStart Terminal ” 启动docker(vmbox):上一步骤默认启动后docker已经可用
终端链接
使用ssh工具 MobaXterm 连接
由于windows启动的docker窗口不友好,不利于操作。所以可以使用ssh工具(本位使用xshell)进行连接,连接后与linux主机功能一致,默认用户为docker。
IP | 192.168.99.100(默认,在启动窗口可以找到) |
---|---|
IP | 192.168.99.100(默认,在启动窗口可以找到) |
PORT | 22 |
用户名 | docker |
密码 | tcuser |
拉取镜像
查询本地镜像
# docker images
查询Portainer镜像 (默认选取第一个STARS最多的项目)
# docker search portainer
下载镜像
# docker pull docker.io/portainer/portainer
查询本地镜像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
portainer/portainer latest b77e51032484 1 hours ago 200MB
镜像打包
# docker save -o portainer.tar portainer/portainer:latest
提取镜像
方式1:自带共享文件夹功能
-
主机新建共享目录:
-
设置文件夹权限:
-
虚拟机设置共享目录:
-
共享路径:主机共享数据的目录
-
共享名称:虚拟机中用来挂载的设备名称
-
挂载目录:
$ sudo su - root
# mount -t vboxsf -o uid=1000,gid=1000 vmbox /home/vmbox
# cp /home/docker/portainer.tar /home/vmbox
- 主机查询文件:
方式2:FTP
- 终端MobaxTerm连接虚拟机:docker / tcuser
- 选中点击下载:
导入镜像
上传镜像到指定服务器后导入:
# docker load -i /home/portainer.tar
dd4969f97241: Loading layer [==================================================>] 278kB/278kB
f3cb3c4e5185: Loading layer [==================================================>] 75.12MB/75.12MB
Loaded image: portainer/portainer:latest
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
portainer/portainer latest da2759008147 3 weeks ago 75.4MB
部署portainer
本地docker
# docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
- 设置初始密码(12345678)
- 增加本地docker
- 概况预览
远程连接
-
开启TLS验证 (可选)
【生成私钥KEY】 # mkdir /home/dockercert;cd /home/dockercert # 此时目录下会生成server.key文件 【生成证书请求文件CSR】 # openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:docker Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: 【生成CA的证书】 # openssl req -new -x509 -key server.key -out ca.crt -days 3650 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:docker Email Address []: 【颁发证书】 # openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt # server.crt 就是我们需要的证书 【增加配置文件】(这个路径文件如果不存在需要自己创建) # mkdir -p /etc/systemd/system/docker.service.d # vim /etc/systemd/system/docker.service.d/override.conf [Service] ExecStart= ExecStart=/usr/bin/dockerd --tls --tlscacert=/home/dockercert/ca.crt --tlscert=/home/dockercert/server.crt --tlskey=/home/dockercert/server.key -H unix:///var/run/docker.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always 【生效配置】 # systemctl daemon-reload 【重启docker】 # docker stop $(docker ps -a -q) # stop停止所有容器 # systemctl restart docker.service
-
Ubuntu开启远程+TLS(远程需要修改salve)(不开启则去掉TLS参数即可)
【修改配置文件】 # vim /etc/systemd/system/docker.service.d/override.conf [Service] ExecStart= ExecStart=/usr/bin/dockerd --tls --tlscacert=/home/dockercert/ca.crt --tlscert=/home/dockercert/server.crt --tlskey=/home/dockercert/server.key -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always 【生效配置】 # systemctl daemon-reload 【重启docker】 # docker stop $(docker ps -a -q) # stop停止所有容器 # systemctl restart docker.service 【查看监听】 # netstat -lntp | grep dockerd tcp6 0 0 :::2375 :::* LISTEN 65013/dockerd 【防火墙】【可直接关闭】 查询状态(规则) # ufw status 开放端口 # ufw allow 8080 禁用端口 # ufw deny 8080 启停/禁用防火墙 (启动并自启,停止并禁用自启) # ufw disable # ufw enable 【测试连接】 # docker -H 10.47.85.214 info (无证书) # docker --tls --tlscacert=/home/dockercert/ca.crt --tlscert=/home/dockercert/server.crt --tlskey=/home/dockercert/server.key -H 10.47.85.214 info (有证书)
-
Centos开启远程+TLS(远程需要修改salve)(不开启则去掉TLS参数即可)
【开启2375端口】 # echo "OPTIONS='-Htcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'" # chmod 777 /etc/default/docker # /etc/default/docker 【增加键值对,每台服务器只添加自己IP的信息,比如当前服务器IP是:10.47.85.214,那么添加信息如下】 # vim /etc/docker/daemon.json { "hosts": ["tcp://10.47.85.214:2375", "unix:///var/run/docker.sock"] } 【重启docker】 # docker stop $(docker ps -a -q) # stop停止所有容器 # service docker restart 【防火墙】【可直接关闭】 【Centos7】 开放端口 # firewall-cmd --permanent --zone=public --add-port=2375/tcp # firewall-cmd --reload 查看已开放/过滤端口 # firewall-cmd --permanent --zone=public --list-ports 启停防火墙 # systemctl status firewalld --查看防火墙状态; # systemctl restart firewalld --重启防火墙 # systemctl start firewalld --开启防火墙 # systemctl stop firewalld -- 关闭防火墙 禁用防火墙 # systemctl disable firewalld.service --禁用防火墙随系统自启 # systemctl enable firewalld.service --开启防火墙随系统自启 【centos6】 # iptables -I INPUT -p tcp --dport 2375-j ACCEPT 编辑/etc/sysconfig/iptables : 增加配置 -A INPUT -p tcp -m state --state NEW -m tcp --dport 2375-j ACCEPT 启停防火墙 # service iptables restart # service iptables start # service iptables stop 禁用防火墙 # chkconfig iptables on --开启 # chkconfig iptables off --关闭 查询规则 # iptables -L 【查看监听】 # netstat -lntp | grep dockerd tcp6 0 0 :::2375 :::* LISTEN 65013/dockerd 【测试连接】 # docker -H 10.47.85.214 info (无证书) # docker --tls --tlscacert=/home/dockercert/ca.crt --tlscert=/home/dockercert/server.crt --tlskey=/home/dockercert/server.key -H 10.47.85.214 info (有证书)
-
增加Endpoint
下载上文生成的证书,添加节点时上传即可:宿主机未开启安全验证则关闭TLS即可
容器克隆
简化配置操作,克隆模板容器:
-
模板
-
复制容器
点击模板容器Name “dap-agent-1” 进入概览页面,并编辑复制容器:
-
基础配置
-
高级配置
- 部署并查询新容器
本文标签: 镜像DockerToolboxPortainerdocker
版权声明:本文标题:win7安装DockerToolbox、下载并提取docker镜像、部署portainer 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1725913657a1029410.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论