Docker基本操做

1.1 Centos下 docker 安装

  1. yum 包更新到最新 sudo yum updatemysql

  2. 安装依赖包,yum-util 提供 yum-config-manager功能,另外两个是安装驱动 sudo yum install -y yum-utils device-mapper-persistent-data lvm2linux

  3. 设置 yum 源为阿里云 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reporedis

  4. 安装docker sudo yum install docker-cesql

  5. 安装完成后查看docker版本 docker -vmongodb

1.2设置 ustc 镜像

编辑文件:vi /etc/docker/daemon.json 添加 {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}docker

1.3 Docker 的启动与中止

systemctl 命令是系统服务管理器指令json

  1. 启动 docker systemctl start docker systemctr status docker // 查看启动状态centos

  2. 关闭 dockr systemctl stop docker systemctl status dockerbash

  3. 重启 docker systemctl restart docker systemctl status dockerapp

  4. 开机启动 systemctl enable docker systemctl status docker

  5. docker 信息 docker info

  6. docker帮助命令 docker --help

经常使用命令

镜像命令

  1. 查看镜像 dcoker images

  2. 搜索镜像 docker search centos

参数表示: NAME: 仓库名称 DESCRITION: 镜像描述 STARS: 用户评价,第一个是评价最高的镜像 OFFICIAL: 是不是官方提供的镜像 AUTOMATED: 自动构建,表示该镜像由 Docker Hub自动构建流程建立的

  1. 拉去镜像 docker pull 镜像名:版本号 例如: docker pull centos:7 若是不指定版本, 则默认最后一个版本

  2. 删除镜像 docker rmi 镜像ID 或者 docker rmi 镜像名

  3. 删除全部镜像 docker rmi `docker images -q`

容器命令

  1. 查看运行中的容器 docker ps

  2. 查看全部容器,包括没有运行的 docker ps -a

  3. 建立与启动容器 docker run 后面会跟一些参数,参数讲解

参数说明 -i 表述运行容器 -t 表示容器启动后会进入命令行模式,通常 -it 一块儿使用,可以分配一个伪终端而且登陆进去 --name 为建立的容器命名 -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),能够使用多个 -v 作多个目录或者文件映射。注意:最好作目录映射,在宿主机上作修改,而后共享到容器上 -d 在run后面加上 -d 参数,则会建立一个守护式容器在后台运行,这样建立的容器不会自动登陆容器,若是只加-i-t 两个参数,建立后就会自动进入容器

例如 交互式建立容器 docker run -it --name=容器名称 镜像名称:标签 /bin/bash

  1. 删除容器 docker rm 容器ID

  2. 删除全部容器 docker rm $(docker ps -aq)

  3. 中止并删除全部容器 docker stop $(docker ps -q) & docker rm $(docker ps -aq)

mysql 相关

  • 查看可用 mysql 版本 docker search mysql

  • 拉取指定版本的mysql docker pull mysql:5.6

  • 查看拉去的mysql: docker images |grep mysql

  • 运行 myql: docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

    1. -p 3306:3306: 将容器的 3306 端口映射到主机的 3306 端口
    2. -v -v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的conf/my.cnf 挂载到的容器的 /etc/mysql/my.cnf
    3. -v $PWD/log:/logs: 将主机当前目录下的 logs 挂载到容器的 /logs
    4. $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
    5. -e MYSQL_ROOT_PASSWORD=123456 初始化 root 的密码
  • 进入容器 docker exec -ti mysql bash

  • 登录mysql mysql -u root -p

  • 而后执行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'guofeng2019';

  • 添加远程登陆用户: CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY '123456!'; GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

mongo

  1. 启动:

    docker run -p 27017:27017 -v $PWD/db:/Users/guofeng/Documents/DB/mongodb -d mongo

Redis(这个来自w3cschool)

  1. 启动redis:

    docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes

命令说明

  • p 6379:6379 : 将容器的6379端口映射到主机的6379端口

  • -v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data

  • redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

相关文章
相关标签/搜索