环境要求
window7
mysql5.7
php5.6
下载并配置docker镜像仓库
下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
下载完成后桌面新增三个图标
Kitematic. 这是Docker的GUI版本
Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
Oracle VM Virtualbox. 虚拟机
配置docker仓库为阿里云仓库
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://4rx2re3v.mirror.aliyuncs.com |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
docker run hello-woeld 运行成功
docker 基本操作
查看当前运行的容器
#docker ps
查看当前未运行的容器
#docker ps -l
查看所有操作过的容器
#docker ps -a
启动/关闭/重启容器
#docker start/stop/restart container-name
进入容器内部
#docker exec -idt container-name /bin/bash
删除容器
#docker rm container-name
删除镜像
#docker rmi <image id>
重命名镜像
#docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器
docker ps -l # 查看最近一次运行的容器
docker create 容器名或者容器ID # 创建容器
docker start [-i] 容器名 # 启动容器
docker run 容器名或者容器ID # 运行容器,相当于docker create + docker start
docker attach 容器名或者容器ID bash # 进入容器的命令行(退出容器后容器会停止)
docker exec -it 容器名或者容器ID bash # 进入容器的命令行
docker stop 容器名 # 停止容器
docker rm 容器名 # 删除容器
docker top 容器名 # 查看WEB应用程序容器的进程
docker inspect 容器名 # 查看Docker的底层信息
docker 配置mysq
-
下载dockerfile
在dockerhub中搜索mysql ,找到对应dockerfile的链接进行下载 -
构建mysql的镜像
首先创建文件 mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
创建Dockerfile,链接:https://github.com/docker-library/mysql/blob/51f9523ad07abacbce90c43eb27390c1c1f76266/5.7/Dockerfile
进入到Dockerfile所在的目录,执行 docker build -t mysql:5.7 .
docker centos镜像
docker pull centos
docker run -d -i -t /bin/bash
docker attach
进入Centos后,发现竟然没有ifconfig和ssh
ifconfig的安装,执行命令
yum search ifconfig
安装ifconfig
yum install net-tools.x86_64
yum install passwd openssl openssh-server openssh-clients -y
yum install initscripts -y
然后修改密码
passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
然后修改配置
vi /etc/ssh/sshd_config
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
PermitRootLogin yes #root能使用ssh登录
接下来只要启动就可以了
sshd-keygen -A
/usr/sbin/sshd -D
#退出,但不停止容器
Ctrl+P+Q
#回到Docker下面,停止容器
docker stop <容器ID>
#提交当前容器到镜像
docker commit <容器ID> <NAME/VERSION>
#启动新容器,并且进行端口映射
docker run -d -p 50001:22 <刚才提交的镜像ID> /usr/sbin/sshd -D
然后用SSH远程工具就能直接连接了
docker-mongo
下载mongo客户端工具 robomongo
docker pull mongo
容器启动mongodb命令:
docker run -d --name mongodb_docker -v /root/mongodb_docker/db:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin mongo
容器连接mongodb命令:
docker run -it --rm --link mongodb_docker:mongo mongo mongo --host mongo -u admin -p admin --authenticationDatabase admin