知识点
1. -p 127.0.0.1:6379:6379
将宿主机6379端口与容器端口形成映射,且使redis仅能通过本地访问(出于安全考虑,外网无法直接访问容器中的redis)
2. --network net-1
将容器加入到docker的net-1网络
3. -v /etc/localtime:/etc/localtime:ro
强制宿主机与容器时间一致
4. docker exec -it mongo bash
进入容器内部
5. --restart always
自动重启
funkypenguin/cryptonote-nodejs-pool
docker run --name pool --network net-1 --network-alias pool --restart always -v /srv/cryptonote-nodejs-pool/:/config/ -v /etc/localtime:/etc/localtime:ro --privileged=true -d funkypenguin/cryptonote-nodejs-pool
Redis
docker run -ti -p 127.0.0.1:6379:6379 --name redis --network net-1 --network-alias redis --restart always -v /etc/localtime:/etc/localtime:ro --privileged=true -d redis
Mongo
docker run -ti -p 27017:27017 --network net-1 --network-alias mongo --name mongo --restart always -v /srv/mongo/db:/data/db -v /srv/mongo/conf:/etc/mongo -v /etc/localtime:/etc/localtime:ro --privileged=true -d mongo --config /etc/mongo/mongod.conf --auth
需要提前在 宿主机 /srv/mongo/conf中建立mongod.conf 文件,否则会报错
一般情况下,我们会为mongodb设置访问权限,以下为详细过程
进入容器内部 docker exec -it mongo bash
然后,执行 mongo
进入mongodb shell ,随后依次设置用户名及权限
- use admin
- db.createUser({ user: “ddhmit”, pwd: “123456”, roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ] })
- db.auth(‘ddhmit’, ‘123456’)
- use db1
- db.createUser({ user: “ddhmit”, pwd: “123456”, roles:[ {role:”readWrite”,db:”db1″} ] })
Nginx
docker run -p 80:80 -p 443:443 --name nginx --network net-1 --network-alias nginx --restart always -v /srv/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /srv/nginx/conf.d:/etc/nginx/conf.d -v /srv/nginx/tcp.d:/etc/nginx/tcp.d -v /srv/nginx/logs:/var/log/nginx -v /srv/html:/usr/share/nginx/html -v /srv/nginx/ssl:/usr/local/nginx/cert -v /etc/localtime:/etc/localtime:ro --privileged=true -d nginx
Mysql
docker run -d --privileged=true --name mysql --network net-1 --network-alias mysql --restart always -v /srv/mysql:/var/lib/mysql -e MYSQL_DATABASE=wordpress-www -e MYSQL_USER=ddhmit -e MYSQL_PASSWORD=123456 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
WordPress
docker run -d --privileged=true --name wordpress-www --network net-1 --network-alias wordpress-www --restart always -v /srv/wordpress-www:/var/www/html wordpress
Frps
docker run -p 7000:7000 -p 8080:8080 -d --name frps --network net-1 --network-alias frps -v /srv/frp:/etc/frp --restart=always snowdreamtech/frps