Centos7 + Python + Redis+ Mysql + Uwsgi + Nginx
先测试是否下载了docker:查看镜像:docker images
没有下载,就依次执行以下环境的安装
①curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

②yum install -y yum-utils device-mapper-persistent-data lvm2
③yum list docker-ce.x86_64 --showduplicates | sort -r
④yum install -y --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
⑤systemctl daemon-reload
systemctl restart docker
systemctl enable docker.service
⑥docker version
docker安装成功。
直接复制阿里云:Docker-hub:https://cr.console.aliyun.com/cn-hangzhou/mirrors
先创建文件夹:mkdir -p /etc/docker
执行:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
从中央仓库中下载镜像到本地
docker pull 镜像名称:版本标签(如:docker pull mysql:5.6)
docker inspect 镜像id 或者 镜像名称:标签
方法一:先删除依赖镜像的容器:
docker rm 容器id 或者 容器名称
容器id查找:这里docker ps -a 所有容器信息 -q 正在运行的容器ID
再删除镜像docker rmi 镜像id 或者 镜像名称
方法二:强制删除镜像,依赖它的容器会一并删除:
docker rmi 镜像id 或者 镜像名称:版本 -f
docker search 镜像名称
docker run -it 镜像id 或者 镜像名称:便签
-i 标准输入
-t 伪终端
-d 守护状态运行
--name 命名容器
-p 端口映射(宿主机端口:容器端口)
-P 端口映射(随机端口)
-v 文件挂载 (-v $PWD/redis/conf/redis.conf:/etc/redis/redis.conf)
本地文件/路径:容器文件/路径
不论修改宿主机还是容器内挂载的文件,会同时变化,避免要修改容器中文件内容
而需要安装vim或者复制文件至容器的操作。
-link 容器间通信(--link tesudrm_tsdrm:django_server)
关联的容器名称/id:关联容器服务器地址的别名(自动加载至hosts文件)
docker start 容器id 或 容器名称
docker stop 容器id 或 容器名称
docker exec -it 容器id 或 容器名称 /bin/bash
3.5 退出容器(后台运行)
Ctrl + p + q
docker pause 容器id 或者 容器名称(unpause取消暂停)
docker inspect 容器id 或 容器名称:版本号
docker rm 容器id 或 容器名称(只删除已经关闭或者退出的容器,-f表示强制)
docker cp 本地命令执行所在相对路径 容器id/名称:/root/(容器绝对路径)
如:docker cp /www/pro_tesu/MySQL/tesudrm.sql 容器ID:/root/
mkdir /www/pro_tesu/Redis/{conf,data} -p
mkdir /www/pro_tesu/MySQL/{conf.d,logs,data} -p
mkdir /www/pro_tesu/Nginx/log -p
mkdir /www/pro_tesu/TSDRM
touch /www/pro_tesu/MySQL/conf.d/my.cnf
touch /www/pro_tesu/Nginx/nginx.conf
touch /www/pro_tesu/Redis/conf/redis.conf
编辑my.cnf文件,添加内容:见附件
①拉取镜像:docker pull mysql:5.6
②创建容器
③拷贝sql文件至容器
前提是先把sql文件上传到/www/pro_tesu/MySQL文件夹下
docker cp /www/pro_tesu/MySQL/tesudrm.sql 容器ID:/root/
如:docker cp /www/pro_tesu/MySQL/tesudrm.sql 1e373b556bc6:/root/
④进入容器
docker exec -it 容器id或名称 /bin/bash 注:容器开启的状态下
cd /root/ 切换到容器的家目录下,ls可以查看是否有sql文件
⑤连接数据库mysql -u root –p回车输入密码即可。
⑥创建数据库
create database tesudrm charset=utf8;
⑦导入数据文件
mysql -uroot -ppassword tesudrm< tesudrm_v2.0.sql
sql数据导入成功。
docker中redis默认无配置文件启动
配置文件redis.conf(根据需求自己配置,参数说明
requirepass tesunet
daemonize no
port 6379
编辑redis.conf文件,添加内容:见附件
①拉取镜像
docker pull redis:3.2
②创建容器
docker pull centos:6.8
docker run -itd centos:6.8 /bin/bash
docker exec -it 容器id bin/bash
安装软件报错:
docker commit -m "描述" -a "root" -p 容器id 镜像名称:版本号
如:docker commit -m "centos6.8_python3.4" -a "root" -p 容器id en_centos:2.2
运行容器之前先配置好文件,配置文件见附录
View Code