操作方式(以nginx为例)
下载加速
echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
systemctl daemon-reload
service docker restart
搜索
docker search nginx
下载
docker pull docker.io/nginx
运行
docker run -it -d -p 80:80 --name nginx docker.io/nginx /bin/bash
重启
docker restart nginx
进入
docker exec -it nginx /bin/sh
退出
ctl+P ctl+Q
停止
docker stop nginx
启动
docker start nginx
删除
docker rm nginx
列表
docker ps -a
日志
docker logs nginx
centos 7关闭防火墙
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
安装mysql
创建网络
为了使多个docker之间通信,需要创建docker网络docker network create backend
查看所有docker network ls
下载镜像
参考上面的命令示例
存放数据文件
mkdir /data/mysql/data
存放配置文件
mkdir /data/mysql/conf
文件内容
/data/mysql/conf
目录下建立3个mysql配置文件 docker.cnf
, mysql.cnf
, mysqldump.cnf
docker.cnf
内容
1 | [mysqld] |
mysql.cnf
内容
1 | [mysql] |
mysqldump.cnf
内容
1 | [mysqldump] |
启动
1 | docker run -d --name mysql --net=backend -p 3306:3306 \ |
- 进入到mysql docker容器
SHOW DATABASES;
mysql -u root -p
密码为:root
- 创建一个库
CREATE DATABASE 库名;
- 然后删除docker
docker stop mysql
docker rm mysql
- 再次创建后查看是否存在库,存在则创建完成
安装gogs
创建目录
mkdir -p /data/gogs
启动
1 | docker run -d -p 10022:10022 -p 10080:3000 --name=gogs --net=backend \ |
NGINX
启动
1 | docker run -d --name nginx -p 80:80 -p 443:443 --net=backend \ |
配置方式
遇到一个坑,当转发端口时的配置方式为proxy_pass http://gogs:3000;
网关名称:内部端口号
docker-compose
- centos有pyhone2.7,但是没有pip,先安装一下,顺手再升级一下。
yum install python-pip
pip install --upgrade pip
- 安装compose
pip install docker-compose
- 检查一下版本
docker-compose version
- 配置
新建文件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
32
33
34
35
36
37
38
39
40
41
42
43
44
45version: "3"
services:
mysql:
image: docker.io/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- "/data/mysql/data:/var/lib/mysql"
- "/data/mysql/conf:/etc/mysql/conf.d"
networks:
- backend
gogs:
image: docker.io/gogs/gogs
ports:
- 10022:10022
- 10080:3000
volumes:
- "/data/gogs/:/data"
depends_on:
- mysql
networks:
- backend
nginx:
image: docker.io/nginx
ports:
- 80:80
- 443:443
depends_on:
- gogs
volumes:
- "/data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro"
- "/data/www:/www"
- "/data/nginx/conf.d:/etc/nginx/conf.d"
- "/data/nginx/keys:/etc/nginx/keys"
- "/data/nginx/err:/etc/nginx/err"
networks:
- backend
networks:
backend: - 设置下环境
COMPOSE_FILE=docker-compose.yml
- 启动即可
docker-compose up -d