docker_compose使用
简化 docker run 命令到一个 配置文件 xxx.yml 中
安装 docker-compose
1
root@ubuntu:~# apt install docker-compose
编写一个简单的 yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17root@ubuntu:~# vi docker-compose.yml
加入以下内容
version: '2'
services:
registry11:
image: registry
container_name: my_registry44
ports:
- "11223:5000"
volumes:
- /opt/docker/registry:/var/lib/registry
- /root/auth:/auth
environment:
- REGISTRY_AUTH="htpasswd"
- REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm"
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd上面的内容等同于,用户密码认证参考:docker_自建私有仓库.md
1
2
3
4
5
6
7
8docker run -d -p 11223:5000 \
--name my_registry44 \
-v /opt/docker/registry:/var/lib/registry \
-v /root/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry
启动容器
1
2
3
4
5
6
7root@ubuntu:~# docker-compose up -d # 启动
Creating my_registry44
root@ubuntu:~# docker-compose ps # 查看
Name Command State Ports
--------------------------------------------------------------------------------
my_registry44 /entrypoint.sh /etc/docker ... Up 0.0.0.0:11223->5000/tcp外部访问以下:ok
停止容器
1
2
3
4
5
6
7root@ubuntu:~# docker-compose stop # 停止
Stopping my_registry44 ... done
root@ubuntu:~# docker-compose ps # 查看
Name Command State Ports
---------------------------------------------------------------
my_registry44 /entrypoint.sh /etc/docker ... Exit 2
使用 yml 配置就不用记一大串 run 命令了,且里面可以添加启动依赖,参考:https://deepzz.com/post/docker-compose-file.html