Docker的安装和使用

什么是Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

实验环境

VMware虚拟机、CentOS 7

实验过程

安装Docker环境

1.安装依赖的软件包

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.设置稳定的存储库

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.安装Docker Engine-Community和containerd

$ sudo yum install docker-ce docker-ce-cli containerd.io

4.启动Docker

$ sudo systemctl start docker

5.测试是否安装成功

$ sudo docker run hello-world

运行结果如下
在这里插入图片描述

测试Docker的基本操作

1 运行Ubuntu镜像

# docker run -it ubuntu bash

运行结果如下
在这里插入图片描述
2. 显示本地镜像库内容

# docker images

在这里插入图片描述
3. 获得帮助

# docker --help

在这里插入图片描述
4. 显示运行中的容器

# docker ps

在这里插入图片描述
5. 显示所有容器

# docker ps -a

在这里插入图片描述
6. 继续运行原容器

# docker restart nostalgic_haslett
# docker ps
# docker attach nostalgic_haslett

在这里插入图片描述

MySQL与容器化

1.获取MySQL镜像

# docker pull mysql:5.7

在这里插入图片描述
2. 构建Docker镜像
执行以下命令

# mkdir mydock && cd mydock
# vi dockerfile

录入以下内容

FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]

构建镜像

# docker build . -t hello

运行结果
在这里插入图片描述
3. 运行镜像

# docker run -it --rm hello -H

在这里插入图片描述
4. 启动MySQL

# docker run -it --net host mysql:5.7 "sh"
# mysql -h127.0.0.1 -P3306 -uroot -proot

在这里插入图片描述
5. 查看数据库文件

# docker exec -it mysql2 bash
/# ls /var/lib/mysql

在这里插入图片描述
每次启动 mysql 容器,docker 就会创建一个文件卷挂载在容器内/var/lib/mysql位置,这个卷在主机(host)的 /var/lib/docker/volumes/ 目录下,执行以下命令查看

# docker container prune -f
# docker volume prune –f
# docker volume ls

在这里插入图片描述
6. 创建文件卷并挂载

# docker rm $(docker ps -a -q) -f -v
# docker volume create mydb
# docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v mydb:/var/lib/mysql -d mysql:5.7

注意这里没有暴露端口到主机!将自己定义的数据卷挂载在 /var/lib/mysql
在这里插入图片描述
7. 启动客户端连接服务器

# docker run --name myclient --link mysql2:mysql -it mysql:5.7 bash
/# env
/# mysql -hmysql -P3306 -uroot -proot

注意这里使用了 --link 连接两个容器,客户端容器内可以使用 mysql 这个别名访问服务器
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值