dockerfile,docker-compose的使用
dockerfile,docker-compose的使用
工作需求
之前的项目是集成了tpp,项目是用GitLab CI持续集成,现在的需求是开发在代码路径下用dockerfile打包镜像包,把dockerfile、镜像tar包、docker-compose文件给用户后,用户能够凭借docker-compose命令将容器启动起来。
docker-compose构建流程
docker-compose -f docker/docker-compose.yml up 或者
docker-compose up -d custom_server_name
-
docker-compose.yml文件中的image指定了创建的镜像名称和tag,volumes指定了容器内部路径与外部路径的挂载目录,build指定了创建镜像时的上下文和dockerfile所在路径,没有build参数默认dockerfile和docker-compose在同一目录下,context为 ‘.’ 表示上下文就是当前docker-compose运行目录,context为‘…’指定上一级目录为上下文,dockerfile指定在context指示路径下的相对路径下的dockerfile。
-
docker-compose up命令首先会根据dockerfile创建镜像,创建成功后的镜像可通过docker images查看,名称就是docker-compose.yml中规定的image参数,并启动该镜像创建docker容器,容器名为services制定的服务名,例如此处为custom_server_name,通过docker exec -it custom_server_name bash命令可进入该容器,通过docker logs -f custom_server_name 可查看该容器启动日志。
version: '3'
services:
custom_server_name:
image: custom_image_name:custom_tag
# build:
# context: ..
# dockerfile: docker/Dockerfile
ports:
- "25031:25031"
volumes:
- /opt/custom_server_name/conf:/opt/conf
network_mode: host
container_name: custom_server_name
env_file:
- /opt/common.env
restart: always
environment:
- SERVICE_NAME=custom_server_name
deploy:
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
<