共计 1898 个字符,预计需要花费 5 分钟才能阅读完成。
1、简介
Docker 是一个开源的应用容器引擎;是一个轻量级容器技术;
Docker 支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;
运行中的这个镜像称为容器,容器启动是非常快速的。
2、核心概念
docker 主机 (Host):安装了 Docker 程序的机器(Docker 直接安装在操作系统之上);
docker 客户端 (Client):连接 docker 主机进行操作;
docker 仓库 (Registry):用来保存各种打包好的软件镜像;
docker 镜像 (Images):软件打包好的镜像;放在 docker 仓库中;
docker 容器 (Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
3、安装 Docker
3.1 检查内核版本,必须是 3.10 及以上
uname -r
3.2 使用 root 权限登录 Centos。确保 yum 包更新到最新 (不然运行会报错)
yum update
3.3 安装依赖
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3.4 安装 docker
yum install docker
3.5 查看 docker 版本
docker version
3.6 启动 docker
systemctl start docker
3.7 设置 docker 开启启动
systemctl enable docker
3.8 关闭 docker
systemctl stop docker
3.9 测试安装效果
Docker 的简单运用 —Hello World
将名为 hello-world 的 image 文件从仓库抓取到本地。
docker pull library/hello-world
运行
docker run hello-world
正确的效果:
4、Docker 常用命令 & 操作
4.1 镜像操作
https://hub.docker.com/
4.2、容器操作(安装 mysql 为例)
-
搜索镜像
docker search mysql
-
拉取镜像(下载)
docker pull mysql 若需要选择版本则如:docker pull mysql:8.0
-
启动(做了端口映射)
docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql ---------- mysql02: 设置的容器名称,可自行设置。-p: 将容器内部使用的网络端口映射到我们使用的主机上。-d: 让容器在后台运行 设置 root 用户默认密码是 123456
-
进入容器
docker exec -it 容器 ID /bin/bash
-
登录 mysql
mysql -uroot -p123456
-
mysql 远程登录相关
Navicat 远程连接报错:进行授权远程连接 (注意 mysql 8.0 跟之前的授权方式不同) 授权 GRANT ALL ON *.* TO 'root'@'%'; 刷新权限 flush privileges 此时, 还不能远程访问, 因为 Navicat 只支持旧版本的加密, 需要更改 mysql 的加密规则 更改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更新 root 用户密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 刷新权限 flush privileges; OK,设置完成,再次使用 Navicat 连接数据库
-
其他容器常用命令:
1. 查看运行中的容器 docker ps 2. 停止运行中的容器 docker stop 容器的 id 3. 查看所有的容器 docker ps -a 4. 启动容器 docker start 容器 id 5. 删除一个容器 docker rm 容器 id 6. 查看容器的日志 docker logs container-name/container-id 7. 查看容器的日志 docker logs container-name/container-id 8. 更多命令参看 https://docs.docker.com/engine/reference/commandline/docker/
4、卸载 docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
正文完