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
    16
    version: '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
    7
    root@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
    10
    version: '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
    7
    root@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
    13
    version: '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
    7
    wilker@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
    2
    wilker@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
    15
    version: '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
    6
    wilker@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
    12
    version: '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
    4
    root@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
    31
    version: '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
    5
    wilker@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