docker_a_我的所有docker服务
记录一下在vps上的常用的 docker 服务,编写成一个 yml 文件
前置条件:安装了 docker-compose ,不懂参照 docker_compose使用.md
registry认证配置参照 docker_自建私有仓库.md
各自建一个 axxx 目录,各放一个 docker-compose.yml 文件,各自启动(也可以全部 services 放在一个 docker-compose.yml 中一起启动)
registry
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16version: '2'
services:
registry:
image: registry:latest
container_name: my_registry
restart: always
tty: true
ports:
- "8001: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启动,查看
1
2
3
4
5
6
7root@ubuntu:~# docker-compose up -d # 启动
Creating my_registry
root@ubuntu:~# docker-compose ps # 查看
Name Command State Ports
----------------------------------------------------------------------------------
my_registry /entrypoint.sh /etc/docker ... Up 0.0.0.0:8001->5000/tcp
shadowsocks
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10version: '2'
services:
shadowsocks:
image: oddrationale/docker-shadowsocks:latest
container_name: my_shadowsocks
restart: always
tty: true
ports:
- "23333:11223"
entrypoint: /usr/local/bin/ssserver -s 0.0.0.0 -p 11223 -k 12345678a -m aes-256-cfb启动,查看
1
2
3
4
5
6
7root@ubuntu:~# docker-compose up -d # 启动
Creating my_shadowsocks
root@ubuntu:~# docker-compose ps # 查看
Name Command State Ports
----------------------------------------------------------------------------------
my_shadowsocks /usr/local/bin/ssserver -s ... Up 0.0.0.0:23333->11223/tcp
tensorflow
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13version: '2'
services:
tensorflow:
image: tensorflow/tensorflow:latest
container_name: my_tensorflow
restart: always
tty: true
ports:
- "8002:8888"
entrypoint: /run_jupyter.sh --allow-root
volumes:
- /home/wilker/Desktop/a_tensorflow/jupyter_notebook_config.py:/root/.jupyter/jupyter_notebook_config.py
- /home/wilker/Desktop/a_tensorflow/notes:/notebooks注意,默认需要token,可以修改为密码配置,进去容器修改tensorflow的配置文件 或者 挂载配置文件到宿主文件 /home/wilker/Desktop/a_tensorflow/jupyter_notebook_config.py
- 这里选择挂载方式,同时把笔记挂载到 /home/wilker/Desktop/a_tensorflow/notes 目录下
启动查看
1
2
3
4
5
6
7wilker@ubuntu:~/Desktop/a_tensorflow$ docker-compose up -d # 启动
Creating my_tensorflow
wilker@ubuntu:~/Desktop/a_tensorflow$ docker-compose ps # 查看
Name Command State Ports
---------------------------------------------------------------------------------------
my_tensorflow /run_jupyter.sh --allow-root Up 6006/tcp, 0.0.0.0:8002->8888/tcp浏览器访问
宿主机上也有 test_11 这个文件了
1
2wilker@ubuntu:~/Desktop/a_tensorflow$ ls notes/
test_11.ipynb
dns
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15version: '2'
services:
registry:
image: andyshinn/dnsmasq:latest
container_name: my_dns_server
restart: always
tty: true
cap_add:
- NET_ADMIN
ports:
- 192.168.1.102:53:53/tcp
- 192.168.1.102:53:53/udp
volumes:
- /home/wilker/Desktop/a_dns/my_dnsmasq_hosts:/etc/my_dnsmasq_hosts
- /home/wilker/Desktop/a_dns/my_resolv.dnsmasq:/etc/my_resolv.dnsmasq启动查看
1
2
3
4
5
6wilker@ubuntu:~/Desktop/a_dns$ docker-compose restart
Restarting my_dns_server ... done
wilker@ubuntu:~/Desktop/a_dns$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------
my_dns_server dnsmasq -k Up 192.168.1.102:53->53/tcp, 192.168.1.102:53->53/udp
hexo
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12version: '2'
services:
hexo:
image: hexo:latest
container_name: my_hexo
restart: always
tty: true
ports:
- "8080:3600"
entrypoint: /bin/bash /z_startup_hexo.sh
volumes:
- /root/a_all_notes:/root/my_hexo_blog启动查看
1
2
3
4root@ubuntu:~/a_hexo# docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------
my_hexo /bin/bash /z_startup_hexo.sh Up 0.0.0.0:8080->3600/tcp
redmine
直接上 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31version: '2'
services:
redmine:
image: redmine:latest
container_name: my_redmine22
restart: always
ports:
- 8092:3000
environment:
- "LANG=en_US.UTF-8"
- "REDMINE_DB_DATABASE=redmine"
- "REDMINE_DB_USERNAME=root"
- "REDMINE_DB_PASSWORD=123456"
volumes:
- /opt/redmine/data:/usr/src/redmine/files
depends_on:
- mysql_db
links:
- mysql_db
mysql_db:
image: mysql:latest
container_name: mysql_redmine22
restart: always
ports:
- 3308:3306
environment:
- "MYSQL_ROOT_PASSWORD=123456"
- "MYSQL_DATABASE=redmine"
volumes:
- /opt/redmine/mysql_data:/var/lib/mysql启动查看
1
2
3
4
5wilker@ubuntu:~/Desktop/a_redmine$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
my_redmine22 /docker-entrypoint.sh rail ... Up 0.0.0.0:8092->3000/tcp
mysql_redmine22 docker-entrypoint.sh mysqld Up 0.0.0.0:3308->3306/tcp