Docker入门到精通 (10)-DockerCompose

151 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

10.1 安装

方法一(github):

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

方式二(其他站点):

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose

10.2 常用命令

docker-compose [-f …] [options] [COMMAND] [ARGS…]

命令(options)描述
-f指定yml类型的文件,默认使用文件名docker-compose.yml
-H, --hostDaemon socket to connect to
-p, --project-name NAMESpecify an alternate project name
命令(Commands)描述
build构建镜像
down停止移除容器、镜像、网络、卷
exec在运行的容器内执行一个命令
images列出docker compose的镜像
kill杀死一个正在运行的镜像
logs查看容器日志
port列出公开的绑定端口
ps列出容器
pull拉取镜像
push提交镜像
restart重新启动service
rm移除停止的容器
start启动一个服务
stop停止一个服务
top显示正在运行的进程
up创建并启动容器
version显示Docker-Compose的版本信息

常用命令

docker-compose up -d
docker-compose down
docker-compose restart
docker-compose logs -f

10.3 实际操作

本次搭建是使用nginx和一个项目进行,首先创建一个 docker-compose.yml文件

version: "3.3"
services:
  nginx:
    image: nginx
    ports:
      - "80:80"
    links:
      - app
    volumes:
      - "/opt/nginx/conf.d/:/etc/nginx/conf.d/"
  app:
  	#此处使用的是本地一个镜像文件,study/test为REPOSITORY,v1为TAG,当TAG为latest时可以忽略,此处生成参考本文6.4
    image: study/test:v1

然后创建一个nginx的配置文件,路径 /opt/nginx/conf.d

server {
	listen	80;
	server_name www.lemon.com;
	access_log /var/log/nginx/host.access.log main;
	location / {
		proxy_pass http://app:8080/;
	}
}

然后在docker-compose.yml目录执行命令

docker-compose up -d

如果docker-compose里有多个容器的配置,命令 docker-compose up -d会把里面的容器全部启动起来,如果需要启动单个容器,在后面加入要配置的容器名称,例如:

docker-compose up -d nginx