更换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 pull alpine:3.10
// 更新apline为国内源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
拉取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镜像
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
将alpine的容器以sh方式运行起来
docker run -dit --name cront-task alpine:3.10 /usr/sbin/crond -f -L /var/log/crond.log
version: '3'
services:
redis-server:
container_name: redis-server
image: redis:3.2
restart: always
volumes:
- /home/php/redis-data:/data
ports:
- 6379:6379
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
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
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
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
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