Docker Compose
安装
执行以下命令安装docker-compose到docker插件中:
shell
# 创建插件目录
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
# 下载docker-compose
DOWNLOAD_URL=https://github.com/docker/compose/releases/download/v2.35.1/docker-compose-linux-x86_64
curl -SL ${DOWNLOAD_URL} -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
执行docker info
命令检查是否安装成功:
shell
Client:
Version: 27.3.1
Context: default
Debug Mode: false
Plugins:
compose: Docker Compose (Docker Inc.)
Version: v2.35.1
Path: /root/.docker/cli-plugins/docker-compose
配置
指定容器名字
可以在docker-compose.yml文件中使用container_name关键字来指定容器的名称。例如:
yaml
version: '3'
services:
web:
container_name: my-web-container
image: nginx
指定端口
yml
services:
samba:
image: dockurr/samba
container_name: samba
ports:
- "139:139/tcp"
- "445:445"
- "138:138/udp"
- "137:137/udp"
volumes:
- /data:/storage
restart: always
指定工作目录
可以在docker-compose.yml文件中使用working_dir关键字来指定容器的工作目录。例如:
yaml
version: '3'
services:
web:
image: nginx
working_dir: /usr/share/nginx/html
上面的示例中,web服务的工作目录被指定为/usr/share/nginx/html
。
注意:working_dir关键字只会改变容器内部的工作目录,不会改变宿主机的工作目录。如果需要在宿主机中访问容器内部的文件,可以使用volumes关键字来挂载宿主机的目录到容器中。
指定用户
在Docker Compose中,可以使用user选项指定容器中运行进程的用户。
以下是一个示例docker-compose.yml文件,其中指定了一个名为myapp的容器,该容器将以myuser用户身份运行:
yaml
version: '3'
services:
myapp:
image: myimage
user: myuser
command: mycommand