您的位置:首页 > 运维架构 > Docker

docker学习的一点记录(一)

2017-09-27 14:36 393 查看

dockerfile

环境:阿里云 docker 傻瓜一键镜像(有公网IP,SSH)

自己本地:windows7

ssh终端:xshell xftp

docker 是这个傻瓜镜像 自己带的

下载docker 镜像 选择的是国内的 网易蜂巢

https://c.163.com/hub#/m/repository

下面是一张图片

简单的介绍了一下,dockerfile当中的一些语法及对应功能



最后的 entrypoint 是 docker 启动这个镜像的时候,会在容器内部执行的一条命令。

entrypoint 和 CMD 的区别

有了dockerfile 之后呢 就可以 build 一下了

通常的 build 是以下的命令: (dockerfile 当前目录)

docker build -t registry_url/namespace/yourname/imagename:tag .


. : 当前路径

./path : 绝对路径

比如:

docker build -t docker.niubi.com/test/me/centos:7.1.201 .

docker 启动一个mysql(window本地navicat可连接)

docker run --name some-mysql -v /data/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 hub.c.163.com/library/mysql:latest


这样就启动了一个 ,有数据存储在 宿主机 目录的docker mysql 服务



在这里面可以看到 mysql 初始的几张表

这样你所有的 数据都不会丢失了。

而且如果需要别的docker mysql 也用这个数据的话

比如说,你想做两个mysql,一个是 insert update delete ,另外一个只是select

再多启用几个docker,挂载使用同一个宿主机 数据目录就好了。

这样真的简单了很多

docker exec -it some-mysql /bin/bash


进去docker mysql 容器 查看下 里面都是什么东东

试用了 vi 命令,他说 vi 找不到,不管了

mysql -u root -p


在容器里面使用了 这个命令 输入之前启动docker mysql 容器时的密码

就可以登录了,然后 show databases 等等sql 语句 直接 666 的耍起来

关闭了这个docker mysql 容器 也不会 丢失数据,因为 我们挂载了 volume 在宿主机!

查看下所有的docker容器

docker ps -a




安装docker-compose

解决办法:

进入下面的网址下载目前的最新版:

https://github.com/docker/compose/releases/tag/1.14.0-rc2

网页拉到最下面,下载:

docker-compose-Linux-x86_64

然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:chmod +x /usr/local/bin/docker-compose

然后再运行

[root@fd240 bin]# docker-compose version

docker-compose version 1.14.0-rc2, build 24dae73

docker-py version: 2.3.0

CPython version: 2.7.13

OpenSSL version: OpenSSL 1.0.1t 3 May 2016

可以看到已经没有问题了。

有了docker-compose 之后 就可以 运行 .yml 文件了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: