记一次docker、docker-compose的部署使用

首先进行Docker的安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

删除一下旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装依赖

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

注意,如果使用的是Centos8,则需要先卸载 podman

dnf remove podman
yum erase podman buildah

设置一下仓库源(阿里云)

sudo yum-config-manager \
 --add-repo \
 http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

测试一下

docker --version

ok,Docker安装完毕。

接下来安装 docker-compose
docker-compose 是一个是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。

相当于可以自动化部署docker。

Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如18.03就是2018年3月。

sudo yum install docker-ce docker-ce-cli containerd.io

安装脚本

curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

测试一下

docker-compose --version

docker的一些常用命令

将外部文件复制到容器内,需要注意:在容器内所做改动都是临时的,重启之后就丢失了

docker cp  源文件路径 容器id:容器内路径

我们可以拷贝出新的镜像来进行保存操作

docker commit -m '说明' 容器id [容器名字,不填为<none>]

多余的镜像,我们可以删除

docker rmi 镜像id

查看当前正在运行的docker容器

docker ps

查看运行过的docker容器 ( NAMES 为 docker_***_1这种格式是运行中的)

docker ps -a

多余的历史记录我们也可以删掉

docker rm 容器id

启动/关闭/重启 docker服务

systemctl start/stop/restart docker

查看当前的镜像

docker images

使用镜像运行

docker run [-d 后台运行] 镜像id

进入容器

docker exec -it 容器id /bin/bash

docker-compose的一些操作

首先 docker-compose的脚本名为 docker-compose.yml

version: '3.0'
services:
   phpfpm:
       image: phpfpm
       ports:
           - "9000:9000"
       networks:
           - selfnet
       volumes:
           - /mnt/disk/php/php.ini:/etc/php.ini
           - /mnt/disk/php/fpm/www.conf:/etc/php-fpm.d/www.conf
           - /mnt/disk/php/fpm/log:/var/log/php
       command: /usr/sbin/init
       privileged: true
       tty: true
   nginx:
       image: nginx
       ports:
           - "443:443"
           - "8080:8080"
           - "80-110:80-110"
       networks:
           - selfnet
       volumes:
           - /mnt/disk/nginx/nginx.conf:/etc/nginx/nginx.conf
           - /mnt/disk/nginx/conf.d:/etc/nginx/conf.d
       privileged: true
       tty: true
   redis:
       image: redis
       ports:
           - "6379:6379"
       networks:
           - selfnet
       volumes:
           - /mnt/disk/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
       command: redis-server /usr/local/etc/redis/redis.conf
       privileged: true
       tty: true
networks:
   selfnet:
       driver: bridge
简单说明一下

volumes块 是映射文件,格式 : - 外部映射路径:容器内映射路径。

需要注意的是,映射内容要对齐,多个空格少个空格都会报错。

一般映射的是文件夹,如果要映射文件,则需要提前在外部映射路径创建好文件,当容器内也是文件时则正常映射。如外部映射路径没有文件或目录,则会在启动时默认创建好目录。

有些镜像在pull时需要提前登录

docker login --username=用户名 包的地址
//Password:输入您的密码
//出现Login Successd 成功则将验证信息保存在 /root/.docker/config.json. 目录下供pull时用。

启动compose脚本、如果脚本内容发生改变,不用重启docker 直接再次运行该脚本即可
docker-compose up [-d 后台运行]

完成,觉得有帮助给个赞~~谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值