首先进行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 后台运行]
完成,觉得有帮助给个赞~~谢谢。