Docker入门

推荐网站

  • Docker菜鸟教程
  • DcokerHub镜像仓库
  • Bilibili黑马教程
  • 阿里云镜像加速

准备事项

  • 安装CentOS7
  • Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。

安装Docker

  1. 卸载
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce
  1. 安装yum工具
yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken
  1. 设置Docker镜像源
# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast
  1. 安装Docker
  • docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
yum install -y docker-ce
  1. 关闭防火墙
  • Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
  • 启动docker前,一定要关闭防火墙!!
  • 启动docker前,一定要关闭防火墙!!
  • 启动docker前,一定要关闭防火墙!!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
  1. 启动Docker
systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

systemctl status docker  # 查看docker状态

docker -v # 查看docker版本
  1. 配置阿里云镜像加速


    阿里云镜像加速.png
  • 登陆后选择CentOS页签,直接复制整行命令运行即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://g1ktbbrb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker操作镜像

  1. 镜像操作常用命令
docker --help # docker使用帮助

docker pull 镜像名:TAG # 拉取镜像

docker build # 构建镜像

docker images # 查看本地所有镜像

docker rmi 镜像名:TAG # 删除镜像(也可以指定镜像ID)

docker rmi 镜像名:TAG  -f # 强制删除镜像

docker push # 推送镜像

docker save 镜像名:TAG # 保存镜像

docker load 镜像名:TAG # 加载保存的镜像
  1. 查询dockerHub镜像
  • dockerHub

    dockerHub查询.png

  • 搜索Mysql


    搜索Mysql.png
  • 复制命令直接拉取镜像即可(不指定TAG默认最新版本)


    Mysql拉取命令.png

Docker操作数据卷

  • docker容器启动后,内部文件结构一般难以修改,耦合度高,可以在容器启动时通过-v指定挂载数据卷,通过修改数据卷的文件实现对容器处理。
  1. 数据卷操作常用命令
docker volume create # 创建数据卷

docker volume inspect # 显示一个或多个数据卷信息

docker volume ls # 列出所有数据卷

docker volume prune # 删除所有未使用的数据卷

docker volume rm # 删除指定数据卷
  1. 数据卷挂载
  • 在Docker创建容器run命令时,通过-v参数挂载数据卷到容器的指定目录。
-v 数据卷名称:容器内目录
  • 如果数据卷不存在,直接挂载系统会自行创建。
  • 也可以不创建数据卷直接将宿主机的目录挂载到容器内
  • 区别:
    • 两者效果一样,但是创建数据卷的实际文件目录由docker指定,而直接挂载宿主机目录更灵活。

Docker操作容器

  1. 容器操作常用命令
 docker run # 创建并启动容器

docker pause # 暂停容器

docker unpause # 取消容器暂停

docker stop # 停止容器

docker start # 启动容器

docker ps # 查看docker当前正常容器的信息

docker ps -a # 查看docker当前所有容器的信息

docker logs # 查看所有容器运行的日志

docker exec # 进入容器

docker rm # 删除容器
  1. dockerHub查询容器帮助文档
  • 在复制docker pull mysql页面下翻找到帮助文档
  • 英文稍差可以翻译成中文


    dockerHub查询容器帮助文档.png
  1. 运行mysql容器,并指定自定义配置文件和数据目录
  • 创建配置目录
mkdir -p /tmp/mysql/conf
mkdir -p /tmp/mysql/data
  • 将自定义配置文件复制到/tmp/mysql/conf目录下
  • 也可以直接touch my.cnf直接新增配置文件
[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
  • 创建Mysql容器并挂载目录
    • 挂载时需要知道Mysql容器内的数据结构,请自行前往dockerHub查询


      文件位置.png
  1. 参数标注
docker run \   
--name mysql \           # 容器名称
-e MYSQL_ROOT_PASSWORD=123456 \ # 初始化密码
-p 3306:3306 \           # 端口映射前为宿主机后为容器
-v /tmp/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf  \
-v /tem/mysql/data:/var/lib/mysql \   # 目录挂载
-d \                             # 后台运行
mysql                         # 镜像名称(不带TAG默认最新)
  1. 进入Mysql容器内部
docker exec \ 
-it \         # 标准输入输出流
mysql \   # 容器名称
bash       # 进入后执行的命令

你可能感兴趣的:(Docker入门)