首先,来一台服务器吧
再来跟网线吧
然后稍微简单了解一下
- docker的安装部署:
- 官方脚本自动安装命令
- curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 还有其他方式安装请参考:CentOS Docker 安装 | 菜鸟教程
- Docker相关常用命令:
- 常用的:
- 启动docker
- systemctl start docker
- 关闭docker
- systemctl stop docker
- 重启docker
- systemctl restart docker
- 查看docker运行状态-
- systemctl status docker
- 设置docker开机自启动
- systemctl enable docker
- 查看docker信息
- docker info
- 查看docker的帮助文档
- docker --help
- 显示当前docker下的所有镜像
- docker images
- 远程仓库查看指定名称的镜像
- docker search 镜像名
- 下载镜像至本地 镜像可以指定版本号 默认最新的
- docker pull 镜像名 docker pull 镜像名:版本号
- 查看镜像/容器/数据卷所占的空间
- docker system df
- 删除单个镜像
- docker rmi 镜像名/ID
- 强制删除
- docker rmi -f 镜像名/ID
- 删除多个镜像 空格分割
- docker rmi 镜像名/ID 镜像名/ID 镜像名/ID
- 全部删除
- docker rmi -f $(docker images -qa)
- 查看本地正在运行的容器
- docker ps
- 查看本地所有容器
- docker ps -a
- Docker内对容器操作命令
- 启动一个或多个已经被停止的容器
- docker start 容器ID或名称
- 停止一个运行中的容器
- docker stop 容器ID或名称
- 重启容器
- docker restart 容器ID或名称
- 根据容器镜像 运行某个容器(相关设置项就不一一列举了)
- docker run -d -name 运行容器名称(自定义) -p 映射端口:容器启用端口 容器镜像名称
- 2.1 jenkins
- 拉取jenkins容器镜像:
- docker pull jenkins/jenkin
- 首先得先在服务器上装好这三个东西: jdk,git,maven
- 然后运行镜像,启动容器
- docker run -d -p 8090:8080 -p 50000:50000
- -v /data/jenkins:/var/jenkins_home
- -v /lowcode/maven/apache-maven-3.9.0:/usr/local/maven
- -v /usr/local/git/git-2.33.1:/usr/local/git
- -v /etc/localtime:/etc/localtime --name myjenkin 镜像id
- 创建映射目录挂载文档目录:
- /data/jenkins
- 就能进入浏览器访问了:
- http://192.168.1.228:8090
- 账号:admin/123456
- 2.2 minio
- 拉取minio容器镜像:
- docker pull minio/minio
- 创建挂载目录
- mkdir -p /lowcode/minio/config
- mkdir -p /lowcode/minio/data
- 运行容器
- docker run -p 9000:9010 -p 9001:9011 \
- --net=host \
- --name minio \
- -d --restart=always \
- -e "MINIO_ACCESS_KEY=minio" \
- -e "MINIO_SECRET_KEY=minio123" \
- -v /lowcode/minio/data:/data \
- -v /lowcode/minio/config:/root/.minio \
- minio/minio server \
- /data --console-address ":9010" -address ":9011"
- 就能进入浏览器访问了:
- http://192.168.1.228:9011
- 账号:minio/minio123
- 2.3 mysql
- 拉取镜像
- docker pull mysql:latest
- 运行镜像
- docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
- -v /usr/local/mysql/log:/var/log/mysql \
- -v /usr/local/mysql/data:/var/lib/mysql \
- -v /usr/local/mysql/conf:/etc/mysql \
- -v /etc/localtime:/etc/localtime:ro \
- -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
- -p 3306:3306:指定宿主机端口与容器端口映射关系
- --name mysql:创建的容器名称
- --restart=always:总是跟随docker启动
- --privileged=true:获取宿主机root权限
- -v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
- -v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
- -v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
- -v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读
- -e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
- -d mysql:latest:后台运行mysql容器,版本是latest
- 借助navicat工具连接,就可以操作拉
- 192.168.1.228
- 端口:3306
- root/123456
- 2.4 redis
- 拉取镜像:
- docker pull redis
- 运行容器
- docker run -itd --name redis-6379 -p 6379:6379 redis
- docker设置redis密码
- 方法一:运行redis容器时候设置密码
- docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456
- 说明:
- --name (启动容器的名称)
- -p 映射端口:redis启动端口 redis
- --requirepass 启动密码
- 方法二:为现有的redis创建密码或修改密码的方法:
- #1.进入redis的容器
- docker exec -it 容器ID bash
- #2.进入redis目录
- cd /usr/local/bin
- #3.运行命令:
- redis-cli
- #4.查看现有的redis密码:
- config get requirepass
- #5.设置redis密码
- config set requirepass 密码
- #将密码置为空字符串即可
- config set requirepass ""
- 192.168.1.228
- 端口:6379
- 密码:123456
- 2.5 nacos
- 参考:
- docker安装nacos_docker nacos_流沙的牵挂的博客-CSDN博客
- http://192.168.1.228:8848/nacos/
- 端口:8848
- 账号:nacos
- 密码:nacos
- 2.6 fastdfs
- 参考:
- 【Docker安装部署FastDFS详细过程】_docker安装fastdfs_硕风和炜的博客-CSDN博客
- 192.168.1.228
- tracker 22122
- storage 23000
- nginx 8888
- 2.7 mongodb
- 拉取镜像
- docker pull mongo:4.4
- 创建挂载目录
- mkdir -p /docker_volume/mongodb/data
- 运行容器
- docker run -itd --name mongo -v /docker_volume/mongodb/data:/data/db -p 27017:27017 mongo:4.4 --auth
- 登录mongo容器,并进入到【admin】数据库
- docker exec -it mongo mongo admin
- 创建一个用户,mongo 默认没有用户
- 这个用户拥有所有数据库的权限
- db.createUser({user:'root',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},'readWriteAnyDatabase']});
- 连接mongo数据库
- db.auth('root', '123456')
- 测试数据库,插入一条语句
- db.user.insert({"name":"zhangsan","age":18})
- 测试数据库,查询刚才插入的语句
- db.user.find()
- 然后为alicorn数据库创建用户
- db.createUser({
- user:"root",
- pwd:"123456",
- roles:[{role:"dbOwner",db:"alicorn"}]
- })
- 切换数据库进行测试数据添加
- use alicorn
- db.alicorn.insert({username:"xiaoming"})
- 测试数据库,查询刚才插入的语句
- db.user.find()
- 192.168.1.228
- 端口:27017
- 管理员账户(不能创建数据库)
- admin/123456
- 超级管理员(可以创建数据库)
- root/123456
- 2.8 Nginx
- 拉取镜像
- 运行容器
- Docker run --restart=always --name nginx
- -v /data/nginx/html:/usr/share/nginx/html
- -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- -p 8080:80 -d nginx --restart=always docker
- 解释:
- 重启后容器自动重启
- --name: 容器名
- -v: 将容器内的目录映射至本地,前面的路径为本机路径
- -d: 镜像名
- -p: 端口映射 容器端口:服务端口
就搞定了一台服务器使用docker管理容器,是不是很简单呢~