1. cmd 与 docker-compose 对比
通过 cmd 创建容器
docker run --name svn-server --detach --volume /var/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server
通过 docker-compose 创建容器
创建 yaml 文件
cat > svn-server.yml <<eof
svn:
image: garethflowers/svn-server
container_name: svn-server
ports:
- "3690:3690"
volumes:
- "svn:/var/opt/svn"
restart: always
eof
执行命令
docker-compose -f svn-server.yaml up -d
2. yaml 文件参考
jenkins:
image: jenkins/jenkins:2.110 # 镜像的ID
container_name: jenkins-server # 容器名称
ports: # 端口映射
- "8080:8080"
- "50000:50000"
volumes: # 卷挂载
- "jenkins_home:/var/jenkins_home"
restart: always # 重启方式 (一直重启,可用于配置开机自启)
3. docker-compose常用命令
--verbose:输出详细信息
-f 制定一个非docker-compose.yml命名的yaml文件
-p 设置一个项目名称(默认是directory名)
docker-compose的动作包括:
build:构建服务
kill -s SIGINT:给服务发送特定的信号。
logs:输出日志
port:输出绑定的端口
ps:输出运行的容器
pull:pull服务的image
rm:删除停止的容器
run: 运行某个服务,例如docker-compose run web python manage.py shell
start:运行某个服务中存在的容器。
stop:停止某个服务中存在的容器。
up:create + run + attach容器到服务。
scale:设置服务运行的容器数量。例如:docker-compose scale web=2 worker=3