Docker 入门尝鲜

1. 容器化应用

在这里插入图片描述

容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知。Docker是第一个使容器能在不同机器之间移植的系统。它不仅简化了打包应用的流程,也简化了打包应用的库和依赖,甚至整个操作系统的文件系统能被打包成一个简单的可移植的包,这个包可以被用来在任何其他运行Docker的机器上使用。

在这里插入图片描述

Docker 主要特性:

  • 文件、资源、网络隔离
  • 变更管理、日志记录
  • 写时复制

2. docker 与 虚拟机的差异

在这里插入图片描述
从图中也很明显看出,之所以容器比 VM 要轻量得多,主要就因为少了一个 Guest OS。另外,图中也看到了,容器的下层就是容器引擎。

Docker 相比 虚拟机有以下的优点:

  • 更高效的利用系统资源
  • 更快速的启动时间
  • 一致的运行环境
  • 更轻松的迁移
  • 更轻松的维护和扩展

典型的使用流程:
在这里插入图片描述

3. Centos中Docker安装方法

  1. 删除旧的版本(如果没有可以跳过)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 安装必须的依赖
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

添加stable的Docker-ce的源:

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装docker-ce:
sudo yum install docker-ce docker-ce-cli containerd.io
  1. 启动docker
# 启动docker
sudo systemctl start docker
# 查看docker状态
systemctl status docker

在这里插入图片描述

4. 安装第一个docker应用hello-world

# 如果本地没有安装会有提示,并且自动下载
docker run hello-world

如果本地没有hello-world应用,会自动从远程下载:
在这里插入图片描述
使用docker ps可以查看当前开启的docker容器:
在这里插入图片描述

5. 开启国内镜像加速

如果下载安装比较慢,可以配置国内镜像,下载更快:

# 修改文件
vi /etc/docker/daemon.json
# 文件内容:
{
    "registry-mirrors": ["https://mirror.ccs.tencentyun.com","http://hub-mirror.c.163.com"]
}

6. docker 常见命令

查看当前开启的docker镜像:

# 查看当前运行的容器
docker ps 
# 查看所有的容器(包含停止的容器)
docker ps -a

重启docker服务

systemctl daemon-reload
systemctl restart docker

停止docker镜像

docker stop `CONTAINER ID`/`NAMES`

删除docker镜像

docker rm `CONTAINER ID`/`NAMES`

如:
在这里插入图片描述
删除容器前需要先停止它docker stop ID/Name,否则不能删除。

7. docker hub 库

如果需要使用别的应用镜像,如mysql等,可以从https://hub.docker.com/先搜索,然后可以查看如何安装。

官网:https://hub.docker.com/

在这里插入图片描述
点进去就可以查看安装方法:
在这里插入图片描述

8. 安装mysql docker

运行mysql docker:

# 本地28001映射到docker內部3306
docker run --name zy-mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 28001:3306 --restart=always  mysql
  • docker名称为:zy-mysql
  • mysql密码为:123456
  • 本地端口:28001
  • docker镜像端口:3306 (mysql默认端口)
  • -d:后台运行
  • –restart:容器会在开机即运行

安装完成,查看:
在这里插入图片描述
此时mysql已经安装好了,但是外部用GUI工具还是连不上,需要操作一下:

# 进入mysql docker容器
docker exec -it mysql bash
# 用密码登录到mysql
mysql -uroot -p
# 输入密码,回车
123456
# 查看root用户信息
select user,host,plugin from mysql.user;
# 发现root后面是"caching_sha2_password"
# 修改密码
ALTER user 'root'@'%'IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

现在就可以远程连接了:
在这里插入图片描述

  • 需要在云主机的安全组添加28001端口,否则外部不能连接(阿里云:云服务器ECS > 网络与安全 > 安全组 > 配置规则 > 入方向,手动添加);
  • 若开启了防火墙,也需要将端口添加到防火墙
# 查看是否开启了防火墙
firewall-cmd --state
# 添加端口到防火墙放行
firewall-cmd --add-port=28001/tcp --permanent
# 重载防火墙规则
firewall-cmd --reload

为这个小鲸鱼点个赞吧~
在这里插入图片描述

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优小U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值