安装

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进入数据库,第一次没密码

你可能感兴趣的:(安装)