centos安装docker
卸载老版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
安装最新版本
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl enable docker
systemctl start docker
test
docker run hello-world
参考文章
centos docker安装
centos7 docker安装
docker使用
docker容器使用
1、拉取镜像
docker pull 【镜像】
2、搜索镜像
docker search 【镜像】
3、启动容器
docker run -itd 【镜像】 /bin/bash
-i: 交互式操作
-t: 终端
-d: 指定后台运行模式
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
4、查看所有容器
docker ps -a
5、启动/停止容器
docker start/stop 【容器pid】
6、进入容器
- docker attach
- docker exec:【推荐】大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止
7、导入导出
docker export 【容器pid】> xxx.tar
cat docker/xxx.tar | docker import - test/xxx:v1
8、删除容器
docker rm -f 【容器pid】
9、查看docker容器日志
docker logs 【容器pid或者name】
镜像使用
1、更新镜像
① 从容器里面进行更新
- 进入容器交互界面,执行apt-get update命令更新
- 完成后exit退出容器后,使用docker commit提交容器副本
② 使用Dockerfile指令来创建新镜像
docker build -t 镜像名称:版本 文件路径
连接容器
端口
1、 -P 容器内随机端口映射到外面端口
2、 -p 指定端口映射
Docker-compose
centos安装
下载依赖包
yum -y install py-pip python3-dev libffi-dev openssl-dev gcc libc-dev rust cargo make
下载docker-compose安装包
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-(uname -m)" -o /usr/local/bin/docker-compose
授权
chmod +x /usr/local/bin/docker-compose
创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
系统应用
redis
docker pull redis
docker run -itd --name redis-default -p 6379:6379 redis --requirepass 【密码】
docker exec -it redis-default /bin/bash
mongodb
docker pull mongo
docker run --name mongo -p 27017:27017 -v /data/mongo/data:/data/db -v /data/mongo/conf:/data/conf -v /data/mongo/log:/data/log -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -d mongo
进入docker容器
docker exec -it [containerid] mongo admin
登陆
db.auth('admin','admin');
创建用户
db.createUser({ user: 'springbucks', pwd: 'springbucks', roles: [ { role: "dbOwner", db: "springbucks" } ] });
授权
db.grantRolesToUser( "springbucks", [ { role: "readWrite",db:"springbucks"} ] );
nacos
docker pull nacos/nacos-server
docker run --name nacos -d -p 8848:8848 -e MODE=standalone nacos/nacos-server
yapi
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
创建mongodb 挂载目录
mkdir -p /data/yapi/mongodata
docker run --restart always -v /data/yapi/mongodata:/data/db -d --name yapimongo mongo
运行容器初始化
docker run -it --rm --link yapimongo:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server
启动服务
docker run -d --restart=always --name yapi --link yapimongo:mongo --workdir /api/vendors -p 3001:3000 registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js
禁用注册技巧
docker exec -it yapi /bin/sh
vi ../config.json
#修改内容如下
{
"port": "3000",
"adminAccount": "[email protected]",
"closeRegister":true, #主要是添加这句配置
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017
}
}
#保存后退出exit
#退出容器docker restart yapi #重启服务
postgres
docker pull postgres
docker run --name postgres -e POSTGRES_PASSWORD=【登陆密码】 -p5432:5432 -d postgres -v /data/postgres/data:/var/lib/postgresql/data --restart=always
rabbitmq
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.8-management
mysql安装,并且默认设置root密码为123456(conf文件路径要映射对,不然可能容器起不来)
docker run -p 3306:3306 --name mysql_latest -v /data/mysql/log:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql -v /data/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 -itd mysql:latest
提示:使用mysql -uroot -p进入数据库,第一次没密码