Docker-Compose操作简述

一、部署安装

1、二进制docker容器部署包
2、docker-compose包
3、docker images包

#!/bin/bash
## qjzhao 2021/08/25
COLOR="echo \\033[31m"
END="\033[0m"

sed -i "s/=enforcing/=disabled/g" /etc/selinux/config
echo "-----configure docker.service-----"
cp ./docker.service  /etc/systemd/system/
sleep 1
systemctl enable docker.service
sleep 1
chmod +x /etc/systemd/system/docker.service
sleep 1
systemctl daemon-reload
sleep 1
systemctl enable docker.service
echo "-----docker.service configure end-----"

$COLOR "start install docker-compose" $END
mv docker-compose-Linux-x86_64  /usr/bin
mv /usr/bin/docker-compose-Linux-x86_64 /usr/bin/docker-compose
sleep 1
chmod 775 /usr/bin/docker-compose
sleep 1
docker-compose --version
$COLOR "docker-compose install end" $END

echo "-----docker start install-----"
chmod -R 775 ./docker/*
sleep 1
cp ./docker/*  /usr/bin
sleep 1
systemctl enable docker.service
sleep 1
systemctl start docker
echo "-----docker install end-----"
echo "-----version-----
docker info 
sleep 1
docker-compose version

手工配置容器ip地址:

echo "-----configure IP-----"
cat >/etc/docker/daemon.json << EOF
{
	"data-root":"/home/docker",	
	"debug":true,
	 "default-address-pools":[
	 {
	    "base":"192.1.0.0/16",
	     "size":24
	  }]
}
EOF
echo "-----configure IP end  -----"

二、YML文件

ym文件示范:

version: "3"
services:
  nginx:
    container_name: nginx
    image: nginx
   #env_file: 
   
   # volumes:
   #   - ./nginx.conf:/usr/local/nginx/conf.d/nginx.conf
   # 配置文件映射
    ports:
      - "80:80"
    restart: always

三、常用命令

常用命令:

3.1 docker-compose up

启动所有服务

3.2 docker-compose up -d

#在后台启动所有服务

3.3 docker-compose down

#停止和删除容器、网络、卷、镜像

3.4 docker-compose stop

#停止正在运行的容器,可以通过docker-compose start 再次启动

3.5 docker-compose start

3.16 docker-compose -f xxx.yml up -d

#指定服务yml启动服务

3.7 docker-compose -f xxx.yml down

 #停止和删除容器、网络、卷、镜像

3.8 docker-compose logs

#查看日志

3.9 docker-compose build

构建(重新构建)项目中的服务容器
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
选项包括:
–compress 通过gzip压缩构建上下环境
–force-rm 删除构建过程中的临时容器
–no-cache 构建镜像过程中不使用缓存
–pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM为构建的容器设置内存大小
–build-arg key=val为服务设置build-time变量 服务容器一旦构建后,将会带上一个标记名。
可以随时在项目目录下运行docker-compose build来重新构建服务

3.10 docker-compose pull

`docker-compose pull [options]  [SERVICE...]`
拉取服务依赖的镜像
选项包括:
–ignore-pull-failures,忽略拉取镜像过程中的错误
–parallel,多个镜像同时拉取
–quiet,拉取镜像过程中不打印进度信息

3.10.1 docker-compose restart

docker-compose restart [options] [SERVICE...]
docker-compose restart 重启项目中的服务
选项包括 -t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)

3.11 docker-compose rm

删除所有(停止状态的)服务容器
docker-compose rm [options] [SERVICE...]
选项包括:
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷
docker-compose rm 删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。

3.11.1 docker-compose start

docker-compose start 启动已经存在的服务容器。

3.12 docker-compose run

在指定服务上执行一个命令
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
示例:
docker-compose run ubuntu ping www.baidu.com 在指定容器上执行一个ping命令。

3.13 docker-compose scale

设置指定服务运行的容器个数
docker-compose scale web=3 db=2 。通过service=num的参数来设置数量

3.14 docker-compose pause

docker-compose pause [SERVICE...] 暂停一个服务容器

3.15 docker-compose kill

通过发送SIGKILL信号来强制停止服务容器
`docker-compose kill [options] [SERVICE ...]`
支持通过-s参数来指定发送的信号。
例如通过如下指令发送SIGINT信号:`docker-compose kill -s SIGINT`

3.16 dokcer-compose config

验证并查看compose文件配置
`docker-compose config [options]`
选项包括:
–resolve-image-digests 将镜像标签标记为摘要
-q, –quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息 –services 打印服务名,一行一个 –volumes 打印数据卷名,一行一个

3.17 docker-compose create

为服务创建容器
`docker-compose create [options] [SERVICE...]`
选项包括: –force-recreate:重新创建容器,即使配置和镜像没有改变,不兼容–no-recreate参数 –no-recreate:如果容器已经存在,不需要重新创建,不兼容–force-recreate参数 –no-build:不创建镜像,即使缺失 –build:创建容器前,生成镜像

3.18 docker-compose exec

docker-compose exec [options] SERVICE COMMAND [ARGS...]
选项包括: -d 分离模式,后台运行命令。 –privileged 获取特权。 –user USER 指定运行的用户。 -T 	禁用分配TTY,默认docker-compose exec分配TTY。 –index=index,当一个服务拥有多个容器时,可通过该参数登陆到该服务下的任何服务,例如:docker-compose exec –index=1 web /bin/bash ,web服务中包含多个容器

3.19 docker-compose port

docker-compose port [options] SERVICE PRIVATE_PORT
显示某个容器端口所映射的公共端口。 选项包括: –protocol=proto,指定端口协议,TCP(默认值)或者UDP –index=index,如果同意服务存在多个容器,指定命令对象容器的序号(默认为1)

3.20 docker-compose push

推送服务依的镜像
docker-compose push [options] [SERVICE...]
选项包括: –ignore-push-failures 忽略推送镜像过程中的错误

3.21 docker-compose unpause

docker-compose unpause [SERVICE...] 恢复处于暂停状态中的服务。

3.22 docker-compose version

docker-compose version 打印版本信息。
Logo

更多推荐