windows-docker的简单使用 2019-02-21 程序之旅 暂无评论 1027 次阅读 docker,简单的说就是一个应用容器,与之类似的就是虚拟机,都是在同一台物理机上运行,但与之最大的不同就是docker能够直接使用共享资源,虚拟机需要搭建自身的运行环境,相比虚拟机来说docker大大的提高了物理资源的使用率,并且也便于开发和测试使用。 ####win安装和使用: 下载地址: 密码:ax7t 下载完成后点击 DockerToolbox-18.06.0-ce.exe进行安装,安装过程没有什么好说的,一直下一步就行。最后得到的三个文件: ![docker的简单使用-6.bmp][1] 在开始docker之前,先把docker的镜像文件拷贝到指定目录。该版本自带一个供开发使用的镜像文件,位于安装目录下(如C:\Program Files\Docker Toolbox) ,拷至C:\Users\Administrator\\.docker\machine\cache目录下,然后就能启动Docker Quickstart Terminal。 > 在第一次安装docker的时候是没有`系统容器镜像`,需要自行添加或上传镜像文件。docker的运行环境本来是linux,但便于可视化开发测试则在win系统下的操作,所以使用之前打开的工具Docker Quickstart Terminal进行文件共享。 ![docker的简单使用-7.bmp][2] 启动完成后会出现其虚拟机的地址:192.168.99.100,这里启动完成后可以直接关闭,程序能够后台运行。随后,这里推荐使用FinalShell或SecureCRT,使用ssh进行连接`192.168.99.100:22`。默认的用户名:`docker `;密码`tcuser`。 ![docker的简单使用.png][3] #### docker的一些基本的操作: ``` docker ps //查看已经创建的容器 docker images // 查看现有的镜像 docker run -d -p 20022:22 --name test1 cent7:base //启动cent7:base镜像容器 history // 查看历史操作 docker inspect test1 // 查看容器信息 docker load --input /docker/cent6base.tar // 导入镜像 docker start test1 // 开启容器 docker stop test1 // 关闭容器 docker rm test1 //删除容器 ``` #### 添加docker镜像文件 Docker Quickstart Termina软件打开的时候是有默认虚拟机运行,先把虚拟机进行关机。 ![docker的简单使用-2.png][4] 点击设置,或直接在右边下点击共享文件夹。点击添加文件夹,勾选自动挂载和固定分配。确定退出,启动虚拟机。 ![docker的简单使用-3.png][5] 然后就能在虚拟机中直接使用win的目录。(目录下有需要添加的从主机系统镜像文件) ![docker的简单使用-4.png][6] 这里还有一个需要注意的是,因为docker原本是在宿主机(虚拟机)中单独虚拟一个网卡,该网卡的网段并没有暴露给win,属于宿主机的内网,所以win是连接不到宿主机下的容器。为了能够在win上能直接使用ssh连接容器,需要在win的终端(管理员权限)中添加路由。 ``` route add -p 172.17.0.0/24 mask 255.255.0.0 192.168.99.100 ``` ![docker的简单使用-5.png][7] 常用的docker命令行 >- docker search:查找镜像image - docker pull:获取image - docker build:创建image - docker images:列出image - docker run:运行容器 - -p:端口映射;-d:守护模式执行 - docker ps:列出正在运行的容器 container - docker cp file id://xx :复制文件到到指定容器 - docker stop id:停止容器 - docker commit -m 'message' id container-name:改变容器 - docker rm id:移除容器运行记录 - docker rmi id:移除本地容器 --- 更新2019年4月1日 注:国内用户,对于ubuntu 16.04+、Debian 8+、CentOS 7,可请在`/etc/docker/daemon.json`中添加内容 ``` { "registry-mirrors": [ "https://registry.docker-cn.com" ] } ``` 之后重启服务 ``` $ sudo systemctl daemon-reload $ sudo systemctl restart docker ``` #### Windows 10 对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Daemon。在 Registry mirrors 一栏中填写加速器地址 https://registry.docker-cn.com,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。 --- 2019年7月31日 更新 如果想要找一些打包好的docker镜像可以到[docker hub](https://hub.docker.com/ "docker hub")下找,同时也能在该网页看到制作镜像的dockerfile,参考他们的制作方法,能够制作自己想要的版本容器镜像 跑起来的docker容器可以通过命令行进入 ``` $ sudo docker exec -it [id] bash # 进入docker $ exit # 退出docker ``` --- ### 2019年10月25日 docker容器之间的互相访问有三种方法,其中一种方法就是设置其路由,如上述。另外两种方法是在创建容器的时候设置link选项。比如: ``` $ sudo docker run --name db -e MYSQL_ROOT_PASSWORD=server -d mysql $ sudo docker run -d --name web --link db:aliasdb nginx ``` nginx服务中,--link连接名为db的容器,并设置db的别名为aliasdb,进入nginx容器 ``` $ sudo docker exec -it nginx bash $ ping db # 通 $ ping aliasdb # 通 ``` 这个是一种方法,另一种方法是找到其容器的docker内在地址,我这里使用的是命令 ``` $ docker inspect db ``` 从中找到对应的ip [1]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/3945087283.bmp [2]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/1932236372.bmp [3]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/2682977557.png [4]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/2272416744.png [5]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/465009766.png [6]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/2631290288.png [7]: https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/2793963547.png 打赏: 微信, 支付宝 标签: linux, docker, windows 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。