play-with-docker主机空间:
http://labs.play-with-docker.com/ 开源的可以用4小时的主机空间,可以试验docker。这里我还可以去配置sftp连接(配了ftp,就可以在这4小时内把网站文件拉到上面随便玩。用vi命令行不能愉快的折腾)。
比如新创建一个主机,从页面上得到这些信息:
网页的url路径是: http://host1.labs.play-with-docker.com/p/fd376d82-4962-4bc2-994f-297468343ebe#fd376d82_node1
fd376d82_node1
IP 10.0.48.3
然后在FileZilla创建一个新的连接(下面的彩色字,信息来源于上面的彩色字):
主机: host1.labs.play-with-docker.com
端口: 1022
协议: SFTP
登陆类型: 密钥文件
用户名: 10-0-48-3-fd376d82
密钥文件: D:\cd\Tools\putty\pwd-key\putty_key.ppk
(密钥文件哪里来呢? 刚才建立主机的页面,在根目录输入 vi .ssh/id_rsa ,把里面的内容拷出来,保存到本机并命名为putty_key.ppk)
以上sftp配置完毕。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty 是个ssh的客户端
练习1:折腾 play-with-docker 主机, 配置php mysql mongo python 环境:
1、访问 http://labs.play-with-docker.com/ ,要FQ,添加一个主机,网页的命令行界面。
2、下载 代码压缩包 wget http://........./docker/docker-pwd.tar.gz
3、解包并进入解包后的目录
tar -xzf docker-pwd.tar.gz
cd docker-pwd
ls -lh
4、编辑 docker-compose.yml
5、docker服务
docker-compose up -d 创建、运行服务
docker-compose down 删除服务
docker-compose ps 查看服务
docker-compose images 查看镜像
docker-compose exec python sh 进入 python 服务容器。输入 exit,退出服务容器
docker-compose exec php sh 进入 php 服务容器。输入 exit,退出服务容器
docker-compose exec mysql sh 进入mysql 服务容器。输入 exit,退出服务容器
代码压缩包解压后的 docker-pwd 目录下的 wwwroot文件夹 为默认创建的nginx、php、python三个服务共享的根目录,当然也是网页的默认根目录,因此可以通过sftp的方式(使用FileZilla软件)直接上传和在线编辑代码
练习2:创建集群: play-with-docker 上,创建集群。 进入站点,点“扳手”图标
先上传文件 nginx-stack.yml
version: '3' services: # nginx容器 nginx: image: nginx deploy: mode: global restart_policy: condition: on-failure networks: - nginx environment: TERM: xterm LANG: C.UTF-8 ports: - 8080:80 # 设置自定义网络 networks: nginx: driver: overlay
运行命令: docker stack deploy -c nginx-stack.yml abcdef
查看集群: docker service ls
查看某个集群:docker service ps abcdef_nginx
链接:
http://www.docker.org.cn/ docker中文社区
http://www.docker.org.cn/page/resources.html docker相关网站链接
http://www.docker.org.cn/book/docker/what-is-docker-16.html 入门教程
http://www.cnblogs.com/zhaof/p/6135971.html 容器的管理操作 2017-12-6
https://www.cnblogs.com/qcloud1001/p/9273549.html 十分钟明白什么是容器技术 2019-6-26
正文:
类比式的初步理解概念:
镜像相当于是个安装光盘的软件
容器是装了系统的正在运行的windows系统,是个运行的实例。
主机是安装了这个环境的电脑
volume(谐音:蜗牛) 卷 (把它看作文件夹,由docker来管理的一种虚拟的绑定的文件夹。)
几个系统:
ubuntu centos debian
centOS和ubuntu是国内常用的。 centOS是面向社区的是个产品,红帽是面向公司的。 ubuntu 是在debian基础上修改的。
例子:比如怎么去找一个镜像:
在咕咕里搜索: docker nginx,找到 hub.docker.com 这个网址下的链接镜像。(咕咕里搜索: site:hub.docker.com docker nginx)
最好是选用 library/nginx,librany 是官方来源的。
或者是直接到 hub.docker.com 去搜索。
例子:比如装nginx:
https://hub.docker.com/r/richarvey/nginx-php-fpm/ 点右下角:Source Repository,能进入github的链接:https://github.com/richarvey/nginx-php-fpm
docker run -d --name=test -p 8080:80 richarvey/nginx-php-fpm:latest (例子,这个是安装nginx的最新版本)
docker run -d -v /code:/ --name=test -p 8080:80 richarvey/nginx-php-fpm:latest (例子,比如装到本地code目录中)
进入docker-compose.yml (详情请看这个文件的配置内容)这个文件所在的目录,运行:
docker-compose -d up
命令:
docker version 查看docker版本
docker search nginx(nginx是镜像名字) 搜索可用docker镜像
docker pull richarvey/nginx-php-fpm 下载容器镜像
docker run richarvey/nginx-php-fpm echo "hello word" 在docker容器中运行hello world (docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。)
//练习笔记2019-8-3 docker pull bjhhh/php-python-sshd //https://hub.docker.com/r/bjhhh/php-python-sshd
2017-11-26补充:
http://blog.csdn.net/tina_ttl/article/details/51326011 关联 github和dockerhub的账户 (重要)
https://github.com
https://hub.docker.com