容器技术

四十七、Docker Compose-服务更新

2021-12-31  本文已影响0人  InsaneLoafer

使用--build进行本地服务更新

[root@localhost docker_exec]# docker-compose up -d --build
Building flask-demo
Sending build context to Docker daemon  3.072kB
Step 1/8 : FROM python:3.9.5-slim
 ---> c71955050276
Step 2/8 : RUN pip install flask redis &&     groupadd -r flask && useradd -r -g flask flask &&     mkdir /src &&     chown -R flask:flask /src
 ---> Using cache
 ---> 5eb28f57ff7f
Step 3/8 : USER flask
 ---> Using cache
 ---> 1fb2e064bf39
Step 4/8 : COPY app.py /src/app.py
 ---> b7eb4713a1e4
Step 5/8 : WORKDIR /src
 ---> Running in 22fb8623c248
Removing intermediate container 22fb8623c248
 ---> 3d0ef2e89d02
Step 6/8 : ENV FLASK_APP=app.py REDIS_HOST=redis
 ---> Running in e60052314609
Removing intermediate container e60052314609
 ---> 7e3ea64c34c2
Step 7/8 : EXPOSE 5000
 ---> Running in daa059946429
Removing intermediate container daa059946429
 ---> cc362a6c19d1
Step 8/8 : CMD ["flask", "run", "-h", "0.0.0.0"]
 ---> Running in d56150a80b38
Removing intermediate container d56150a80b38
 ---> 539aa4f2eafc
Successfully built 539aa4f2eafc
Successfully tagged flask-demo:latest
docker_exec_redis-server_1 is up-to-date
Recreating docker_exec_flask-demo_1 ... done

修改docker compose文件增加镜像

version: "3.8"

services:
  flask-demo:
    build: 
      context: ./flask
      dockerfile: Dockerfile.dev
    image: flask-demo:latest
    environment:
      - REDIS_HOST=redis-server
    networks:
      - demo-network
    ports:
      - 8080:5000

  redis-server:
    image: redis:latest
    networks:
     - demo-network

  busybox:
    image: busybox:latest
    command: sh -c "while true; do sleep 3600; done"
    networks:
      - demo-network

networks:
  demo-network:
[root@localhost docker_exec]# docker-compose up -d
Pulling busybox (busybox:latest)...
latest: Pulling from library/busybox
3cb635b06aa2: Pull complete
Digest: sha256:b5cfd4befc119a590ca1a81d6bb0fa1fb19f1fbebd0397f25fae164abe1e8a6a
Status: Downloaded newer image for busybox:latest
docker_exec_redis-server_1 is up-to-date
docker_exec_flask-demo_1 is up-to-date
Creating docker_exec_busybox_1 ... done

进行删除更新

[root@localhost docker_exec]# docker-compose up -d
WARNING: Found orphan containers (docker_exec_busybox_1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
docker_exec_redis-server_1 is up-to-date
docker_exec_flask-demo_1 is up-to-date
[root@localhost docker_exec]# docker-compose up -d --remove-orphans
Removing orphan container "docker_exec_busybox_1"
docker_exec_redis-server_1 is up-to-date
docker_exec_flask-demo_1 is up-to-date

当容器使用了volume就会用restart来更新

[root@localhost docker_exec]# docker-compose restart
Restarting docker_exec_flask-demo_1   ... done
Restarting docker_exec_redis-server_1 ... done
上一篇 下一篇

猜你喜欢

热点阅读