docker(一):快速上手

关键概念

  • 镜像:说简单点就是一堆只读文件。借助联合文件系统,所有的文件显示在同一个目录下。这些文件构成一个完整的可运行的程序及其运行环境

  • 容器:说白了容器就是在镜像这一堆只读的文件的基础上增加了一层读写层,可用来读写文件。容器 = 镜像 + 读写层。注意:容器的概念中不强调运行状态

    • 只有当容器进入运行态时,才会为其分配独立的进程空间
  • 仓储:制作好的镜像上传到仓储中,其他人取到后可以在本地docker中运行。

运行状态

  • 所以的容器运行状态可以通过docker ps -a来进行查询

  • created:使用docker create 镜像名创建后将变成已创建状态

  • exited:运行结束后将转换为结束状态,运行结束的镜像还可以启动

  • up:运行中的容器

  • pause:暂停的容器,使用命令docker pause 容器名 暂停,使用docker unpause 容器名 恢复到运行状态

docker安装

  • 在docker官网上注册的时候总会遇到一些问题,原因大家懂的,这里给大家提供一个可用的下载地址,安装的方法很简单,百度下就知道了。

https://hub.daocloud.io

国内仓储

docker使用方法

运行第一个容器

  • 在成功安装docker后,我们需要去下载一个可用的镜像:docker pull hello-world

  • 下载完成后可以用docker images来查看

  • 运行镜像docker run hello-world,其实这一步相当于是docker create hello-worlddocker start containerId

运行mysql

  • 一般情况下要求docker做到无状态,但是数据库需要存储数据,不能因为重启数据库的容器使得里面的数据全部丢失,因此这里我们将使用挂载存储的方式将docker中的目录映射到宿主机上(这里的宿主机就是运行docker的那台电脑)

  • docker中的网络在默认情况下外部是无法访问的,需要做一个映射,将docker中的docker映射到宿主机上

具体步骤

  • 拉取镜像的方式一样,不过这里我们使用国内的仓储来进行拉取docker pull hub.c.163.com/library/mysql:latest

  • 我们使用下面这句话来运行docker: docker run -v /Users/rui/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=cloud -d -p 3306:3306 hub.c.163.com/library/mysql

    • -v /Users/rui/docker/mysql:/var/lib/mysql 将docker中/var/lib/mysql映射到本地/Users/rui/docker/mysql,这样每次启动docker时都读出的是同样的数据库文件,保证数据不丢失

    • -e MYSQL_ROOT_PASSWORD=cloud 这里是mysql需要设置的初始root用户的密码

    • -p 3306:3306 将docker中的3306映射成宿主机的3306

  • 经过上面的步骤,mysql就可以被正常访问,同时重启后数据依然存在

疑问点

docker在执行stop后容器是否还在?

  • stop后容器依然还在,可以通过docker ps -a查看

如果想要删除所有的容器怎么办?

  • docker rm $(sudo docker ps -a -q)

如何进入到容器中?

  • docker exec -it containerId bash这句话的意思是在docker中执行bash(linux的命令窗)

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值