Ubuntu 安装Docker服务器开发环境

Ubuntu 安装Docker环境与常用服务

一、ubuntu 18.04 安装docker最新版本

更换ubuntu的安装源为国内源

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

下载docker并安装

sudo apt-get remove docker docker-engine docker-ce docker.io
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-cache madison docker-ce
sudo apt-get install docker-ce=<VERSION>

sudo systemctl status docker
sudo systemctl start docker
sudo docker run hello-world

debian系统的安装如下

sudo apt-get remove docker docker-engine docker-ce docker.io
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable"
sudo apt-get update
sudo apt-cache madison docker-ce
sudo apt-get install docker-ce=<VERSION>

修改docker镜像为国内加速镜像仓库,可自行注册阿里云加速

#vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries": []
}

将普通用户加入到docker用户组中

sudo gpasswd -a ${USER} docker
sudo service docker restart
sudo chmod a+rw /var/run/docker.sock

安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
二、docker 安装 alpine3.10
docker pull alpine:3.10
// 更新apline为国内源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
三、docker 安装openresty

拉取docker镜像

docker pull openresty/openresty:alpine

创建配置文件

mkdir -p ~/docker/nginx/conf.d ~/docker/nginx/logs

docker run --name tmp-nginx -d openresty/openresty:alpine
docker cp tmp-nginx:/usr/local/openresty/nginx/conf/nginx.conf ~/docker/nginx/nginx.conf
docker cp tmp-nginx:/etc/nginx/conf.d/default.conf ~/docker/nginx/conf.d/www.conf
docker rm -f tmp-nginx

创建compose文件

version: "3" 
services:
  nginx:
          container_name: nginx
          image: openresty/openresty:alpine
          restart: always
          ports:
            - 80:80
          volumes:
            - ~/html:/var/www/html
            - ~/docker/nginx/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf
            - ~/docker/nginx/conf.d:/etc/nginx/conf.d
            - ~/docker/nginx/logs:/usr/local/openresty/nginx/logs
          working_dir: /var/www/html
四、docker 安装golang

拉取docker镜像

docker pull golang:1.13.0-alpine3.10

编译项目,前提是项目下面有go.mod文件

docker run --rm -v $PWD:/data -w /data -e GOPROXY=https://goproxy.cn golang:1.13.0-alpine3.10 go build -tags netgo main.go
五、docker 安装crontab

将alpine的容器以sh方式运行起来

docker run -dit --name cront-task alpine:3.10 /usr/sbin/crond -f -L /var/log/crond.log
六、docker 安装redis
version: '3'

services:
  redis-server:
    container_name: redis-server
    image: redis:3.2
    restart: always
    volumes:
      - /home/php/redis-data:/data
    ports:
      - 6379:6379

七、docker 安装mongodb
version: '3'

services:
  mongodb-server:
    container_name: mongodb-server
    image: bitnami/mongodb:latest
    restart: always
    user: root
    volumes:
      - /home/php/mongodb/data:/bitnami/mongodb/data
    environment:
      - ALLOW_EMPTY_PASSWORD=no
      - MONGODB_USERNAME=admin
      - MONGODB_PASSWORD=admin123
      - MONGODB_DATABASE=admindb
    ports:
      - 27017:27017

八、docker 安装rabbitMQ
version: '3' 

services:
  rabbitmq-server:
    container_name: rabbitmq-server
    image: rabbitmq:3.7-management
    restart: always
    volumes:
        - /home/php/rabbitmq:/var/lib/rabbitmq
    environment:
      - RABBITMQ_DEFAULT_USER=admin
      - RABBITMQ_DEFAULT_PASS=admin
    ports:
      - 5672:5672
      - 15672:15672
九、docker 安装mysql
version: '3'

services:
  mysql-server:
    container_name: mysql-server
    image: mysql:5.7
    restart: always
    volumes:
	  - /home/php/docker/mysql/data:/var/lib/mysql
	  - /home/php/docker/mysql/conf:/etc/mysql/conf.d
	  - /home/php/docker/mysql/logs:/logs
    environment:
      - MYSQL_ROOT_PASSWORD=root
    ports:
      - 3306:3306
十、docker 安装etcd
version: '3'

services:
  etcd-server:
    container_name: etcd-server
    image: quay.io/coreos/etcd:latest
    restart: always
    volumes:
      - /home/php/etcd/data:/data
    command: etcd -name etcd-client0 -data-dir /data -advertise-client-urls http://172.17.0.1:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http://72.17.0.1:2380 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd-client0=http://72.17.0.1:2380" -initial-cluster-state new
    ports:
      - 2379:2379
      - 2380:2380
version: '3'

services:
  etcd-bowser:
    container_name: etcd-bowser
    image: buddho/etcd-browser:latest
    restart: always
    user: root
    environment:
      - AUTH_USER=admin
      - AUTH_PASS=admin123
      - ETCD_HOST=192.168.200.129
      - ETCD_PORT=2379
      - SERVER_PORT=2381
    ports:
      - 2381:2381
version: '3'

services:
  etcd-keeper:
    container_name: etcd-keeper
    image: deltaprojects/etcdkeeper:latest
    restart: always
    user: root
    ports:
      - 2382:8080

十一、安装Kafka


version: '3'

services:
  zookeeper:
    image: 'wurstmeister/zookeeper:latest'
    ports:
     - 2181:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: 'wurstmeister/kafka:latest'
    ports:
      - 9092:9092
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_ADVERTISED_HOST_NAME=192.168.0.76
      - KAFKA_ADVERTISED_PORT=9092
    links:
      - zookeeper
    volumes:
      - /userdata/php/docker/kafka/etc/localtime:/etc/localtime

你可能感兴趣的:(LINUX)