Compose操作容器

实用工具Docker-Compose的介绍与安装

docker-compose:是一个用于定义和运行多容器 Docker 的应用程序工具,可以帮助我们可以轻松、高效的管理容器

compose的安装

检查有没有python环境: pyhton -v
安装pip工具
    yum install -y epel-release  //报错,下面有解决办法

    yum install -y python-pip
安装docker-compose:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose==1.24.1
查看docker-compose版本:docker-compose version


安装pip报错解决:解决: vi /etc/yum.repos.d/epel.repo 修改配置文件,注释掉metalink ,取消注释 baseurl

[root@localhost yum.repos.d]# yum install python-pip -y
已加载插件:fastestmirror
One of the configured repositories failed (未知), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this:

1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work).
3. Disable the repository, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid>
4. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

修改前:

       

修改后:

        

 

Docker-Compose的快速上手

 

一定要进入配置文件目录:mkdir -p /usr/local/docker-compose/test

编写一个最最简单的yml:  在上面创建的test目录下,编写文件 vi docker-compose.yml

version: '3'   //yml版本号
services:      
  redis:       // 服务名字
    image: mycentos:redis  //要操作的容器,镜像名字:标签


compose操作容器(一定要进入配置文件目录 : test目录)

  1. 后台启动容器:docker-compose up -d
  2. 查看容器运行情况:docker-compose ps
  3. 停止并删除容器:docker-compose down
  4. 停止并删除容器并删除volume:docker-compose down --volumes
  5. 停止启动容器:docker-compose stop;docker-compose start
  6. docker-compose exec的使用:docker-compose exec redis bash  //服务名字

总结:

  1. 操作docker-compose一定要在配置文件docker-compose.yml文件路径下操作
  2. 格式一定要注意,该空格要空格
     

Docker-Compose核实用技能

docker-compose.yml的三大部分:version,services,networks,最关键是services和networks两个部分

  1. compose设置网络模式
  2. compose使用端口映射
  3. compose设置文件共享
  4. compose管理多个容器

docker-compose.yml

version: '3'
services:
  nginx:
	image: mycentos:nginx
	network_mode: "host"
	volumes:
	- /home:/usr/local/nginx/html
	- /var/logs/nginx/logs:/usr/local/nginx/logs
	command: /usr/local/nginx/sbin/nginx -g "daemon off;"

  redis:
	image: mycentos:redis
	ports:
	- "6380:6379"

Docker-Compose快速搭建个人博客 wordpress

官网:https://docs.docker.com/compose/wordpress/

mkdir -p /usr/local/docker-compose/wordpress  

在wordpress 目录下创建  cat >docker-compose.yml:wordpress免费的博客平台

version: '3.3'
services:
  db:
	image: mysql:5.7 #docker run -itd mysql:5.7
	volumes:
	  - db_data:/var/lib/mysql #采用的是卷标的形式挂载(注意:- db_data是参数,可以变,自定义,必须与下面对应)
	restart: always #自动重启,保证服务在线
	environment:
	  MYSQL_ROOT_PASSWORD: somewordpress #指定环境变量 docker -itd -e
	  MYSQL_ROOT_PASSWORD= somewordpress
	  MYSQL_DATABASE: wordpress
	  MYSQL_USER: wordpress
	  MYSQL_PASSWORD: wordpress
  wordpress:
    depends_on:
    - db # - db 是参数,合起来的意思是只有当上面的mysql数据库安装成功后,这个wordpress才可以被安装,还有一个功能,就是docker --link 将上面的mysql数据库,与这个wordpress应用连起来
    image: wordpress:latest
    ports:
    - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
  volumes:
    db_data: {}

启动wordpress:docker-compose up -d
打开浏览器访问:IP:8000
进行安装配置
将删除容器和默认网络,但会保留WordPress数据库: docker-compose down
将删除容器,默认网络和WordPress数据库: docker-compose down --volumes
 

docker-compose中有两种方式可以设置volumes
    使用具体路径直接挂载到本地,特点就是直观
    使用卷标的形式,特点就是简洁,但是不知道数据到底在本地的什么位置。需要通过卷标查看
        docker volume ls
        docker volume inspect wordpress_db_data

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值