docker 一些有用的操作

创建一个网络组

docker network create xxx(网络名称)
docker network inspect xxx   网络的配置信息
docker network list 所有网络的列表

docker部署

1 编写Dockerfile文件
2 打包镜像 docker build -t 镜像名 .
3 运行镜像 docker run -d -p 5001:5001 --net 网络名称 --name 新容器名 镜像名

docker中python环境的安装其他包并打包成镜像

1 基于镜像进去容器并生成新容器 docker run -it --name 新容器名字 旧镜像id bash
2 python 容器内部安装对应的包 pip install --upgrade pip  -> pip install XXX ->exit 退出容器
3 基于新容器打包出python的镜像 docker commit -a "作者" -m "描述" 新容器的id 新镜像名称:版本号

redis部署一个服务
创建一个文件目录

-data
--redis
---data		数据目录
---redis.conf	配置文件
---restart.sh	启动脚本

redis.conf文件下载于 http://www.redis.cn/download.html
修改文件:

bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
daemonize no#用守护线程的方式启动
requirepass 你的密码#给redis设置密码
appendonly yes#redis持久化  默认是no
tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300

restart.sh 编写启动脚本

xxx 主要内容是启动docker容器

docker run -p 6379:6379 --name redis_container -v /docker_projects/database_projects/data/redis/redis.conf:/etc/redis/redis.conf -v /docker_projects/database_projects/redis/data:/data -d redis redis-server /etc/redis/redis.conf --net 网络名称 --appendonly yes
-p 6379:6379:把容器内的6379端口映射到宿主机6379端口
-v /docker_projects/database_projects/data/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
-v /docker_projects/database_projects/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份
redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
–appendonly yes:redis启动后数据持久化
--net 网络名称

redis 进入容器内部查看数据

docker exec -it redis_container 
redsi_cli
auth root -->root 是密码

mysql部署一个服务
创建文件目录

-data
--mysql
---conf		配置文件
---data		数据
---logs		日志
restart_mysql.sh启动脚本
设置起mysql启动脚本
xxx 重点是mysql的启动命令
ps:docker run --restart=always -d -v /docker_projects/database_projects/data/mysql/logs:/logs -v /docker_projects/database_projects/data/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql_container --net 网络名称 -e MYSQL_ROOT_PASSWORD=root mysql
-p 3306:3306:把容器内的3306端口映射到宿主机3306端口
-v /docker_projects/database_projects/data/mysql/logs:/logs 日志映射
-v /docker_projects/database_projects/data/mysql/data/mysql:/var/lib/mysql 数据映射
-v XXXX 配置文件映射
-e MYSQL_ROOT_PASSWORD=root 设置root的密码
mysql 使用的镜像
--name mysql_container  运行的容器
--net 网络名称

mysql进入容器内部

docker exec -it mysql_container mysql -u root -p 
输入密码:root

你可能感兴趣的:(docker,容器,运维)