docker

  1. docker 安装
  2. 卸载
  • docker安装服务
    1. mysql
    2. gogs
    3. IPsec VPN
    4. V2ray VPN
  • hexo
  • docker 安装

    1
    2
    3
    4
    5
    curl -fsSL https://get.docker.com/ | sh
    systemctl restart docker
    systemctl enable docker
    docker version
    chmod o+rw /var/run/docker.sock

    卸载

    1
    2
    3
    4
    rpm -qa | grep docker
    yum remove -y docker-1.13.1-209.git7d71120.el7.centos.x86_64
    yum remove -y docker-client-1.13.1-209.git7d71120.el7.centos.x86_64
    yum remove -y docker-common-1.13.1-209.git7d71120.el7.centos.x86_64
    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum install yum-utils -y
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum clean all
    yum makecache
    yum update -y
    yum makecache fast
    yum install docker-ce docker-ce-cli containerd.io –y

    systemctl start docker

    docker安装服务

    mysql

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    docker stop mysql
    docker rm mysql
    mkdir -p data
    docker run -itd --name mysql \
    -v $PWD/data:/var/lib/mysql \
    -p 13306:3306 \
    -e MYSQL_ROOT_PASSWORD=xxxxxxxxxxxxxxxxxxxx \
    -d mysql:5.7

    # -v $PWD/my.cnf:/etc/my.cnf \

    docker exec -it mysql bash
    docker cp mysql:/etc/my.cnf ./my.cnf

    gogs

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    mddir -p ~/docker/gogs
    cd ~/docker/gogs

    mkdir -p data

    docker run \
    --name=gogs \
    --restart=always \
    -d \
    -p 10022:22 \
    -p 13000:3000 \
    -v $PWD/data:/data \
    gogs/gogs

    # docker container update --restart=always

    IPsec VPN

    Docker 上的 IPsec VPN 服务器

    ipsec-vpn-server

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    docker stop ipsec-vpn-server && docker rm ipsec-vpn-server && sleep 1
    docker run \
    --name ipsec-vpn-server \
    --env-file ./vpn.env \
    --restart=always \
    -v /lib/modules:/lib/modules:ro \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -d --privileged \
    hwdsl2/ipsec-vpn-server

    # vpn.env 配置文件内容
    # VPN_ENABLE_MODP1024=yes
    # VPN_IPSEC_PSK=xxxxxxxxxxxxxxxxxxxx
    # VPN_USER=vpnuser
    # VPN_PASSWORD=xxxxxxxxxxxxxxxx

    # # 额外用户
    # VPN_ADDL_USERS=xxxxxx xxxxxx
    # VPN_ADDL_PASSWORDS=xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx

    V2ray VPN

    v2ray

    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
    ```


    caddy_v2ray

    ```bash
    mkdir -p $PWD/data/conf/v2ray
    mkdir -p $PWD/data/conf/caddy
    mkdir -p $PWD/data/ssl

    docker stop caddy_v2ray
    docker rm caddy_v2ray

    docker run -d \
    -v $PWD/data/conf/v2ray:/etc/v2ray:rw \
    -v $PWD/data/conf/caddy:/etc/caddy:rw \
    -v $PWD/data/ssl:/data/caddy/certificates:rw \
    --publish=80:80 \
    --publish=443:443 \
    --env=DOMAIN=xxxx.xxxxx.com \
    --env=EMAIL=xxxxxxxxxx@gmail.com \
    --restart=always \
    --name=caddy_v2ray \
    anerg/v2ray:latest

    # 其中的 data下目录的文件和内容,是 caddy_v2ray 初始化时创建的

    rsync –include data -zauv webserver@161.117.195.87::webserver/data/ipdb/GeoIP2-ISP.mmdb ~/data/ipdb/

    hexo

    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
    #!/bin/bash

    BASE_DIR="$(dirname $(readlink -f $0))"
    cd ${BASE_DIR}
    PROG=${BASE_DIR##*/}

    data_dir=${BASE_DIR}/data

    mkdir -p ${data_dir}
    chmod 1777 ${data_dir}

    re=${1:-0}

    if [ $re -eq 1 ]; then
    docker stop ${PROG}
    docker rm ${PROG}
    fi

    docker ps -a |grep ${PROG}|grep -v grep|awk '{print $NF}'|grep ${PROG}
    num=`docker ps -a |grep ${PROG}|grep -v grep|awk '{print $NF}'|grep ${PROG}|wc -l`
    echo $num
    if [ $num -ge 1 ]; then
    echo "exist"
    docker restart ${PROG}
    else
    echo "not exist"
    docker run --name ${PROG} --restart=unless-stopped -p 5000:4000 -v ${data_dir}:/home/hexo/.hexo -d taskbjorn/hexo
    fi

    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

    💰

    ×

    Help us with donation