学习笔记:docker入门教程

本文详细介绍了Docker的安装与基本操作,包括如何使用Dockerfile自定义镜像,实现容器化部署。从Docker的安装、运行镜像、管理容器,到深入解析Dockerfile指令,如FROM、MAINTAINER、CMD等,帮助读者掌握Docker的使用技巧。

第1章 课程简介
1-4 Linux安装

$ sudo wget -qO- https://get.docker.com/ | sh	
# 大写O,不是数字0
# -q简单输出
# O-到标准输出,不是到文件
# 输出给sh
$ sudo usermod -aG docker imooc
# imooc用户名
# 加入用户名进docker组,不用sudo执行
# 只有root用户可以不用该命令
# imooc必须是已有用户,否则提示usermod: user '' does not exist
$ docker info
# 查看docker装填

和课程中正常显示不一样,告警如下:在这里插入图片描述
应该是docker没有正常运行
输入:

sudo service docker restart
# 或:sudo systemctl start docker
docker info

可以正常查看了:
在这里插入图片描述

第2章 实践第一步
2-1 docker架构介绍与实战
HOST宿主机
docker daemon(守护进程)

docker run ubuntu echo hello docker

好像安装里什么奇怪的东西:
在这里插入图片描述

docker run centos echo hello docker

居然也可以,但也安装了什么奇怪的东西
在这里插入图片描述

docker run nginx
# 在docker中运行nginx

还是提示Unable to find image ‘nginx:latest’ locally
没找到这个image,docker看本地有没有容器需要的image(镜像)

docker images
# 查看已安装的images,目前有3个

在这里插入图片描述

docker run -p 8080:80 -d daocloud.io/nginx

把nginx80端口映射到localhost 8080 端口

docker ps 
# 查看运行的容器

在这里插入图片描述

 curl localhost:8080

访问本地8080
在这里插入图片描述
当前文件夹里放index.html

<html>
<h1>docker is funny</h1>
</html>

拷贝到容器内部的地址

docker cp index.html 9957b7b796b7://usr/share/nginx/html
# CONTAINER ID 下//usr/share/nginx/html

curl localhost:8080
# 可以查看index.html

停止docker

docker stop 9957b7b796b7	# CONTAINER ID 

关闭了启动nginx的容器,就无法访问
在这里插入图片描述
再次通过docker开启nginx
无法访问刚才的index.html
docker内的地址都时暂时的,缺省设置时关闭了不会保存

docker commit -m ‘fun’ 9957b7b796b7	

其实是保存了一个images
在这里插入图片描述

docker commit -m ‘fun’ 9957b7b796b7	nginx-fun
#nginx-fun 是images的名字

在这里插入图片描述
删除images

docker rmi 9957b7b796b7	

停止当前运行的容器

docker ps -a
#  显示历史运行过的docker

在这里插入图片描述

docker rm 9957b7b796b7	9957b7b796b7	
# 去除历史运行的容器记录,多id用空格分离

命令小结
在这里插入图片描述
在这里插入图片描述
image是镜像
container容器时镜像的实例
问题,怎么通过已有镜像启动container?

第3章 Dockerfile介绍
3-1 Dockerfile介绍
通过编写简单的文件自创docker镜像
(原来是用commit保存)

$ touch Dockerfile# 默认文件名
# 在当前文件夹下创建文件

文件内容:
FORM alpine:latest
MAINTAINER username
CMD echo ‘hello docker’

docker build -t hello_docker .
# 把当前文件夹下所有文件都建成hello_docker的image
docker run image_name 
# 用image 运行docker

3-2 dockerfile实战
FROM ubuntu # 基础镜像
MAINTAINER username
RUN sed -i ‘s/archive.ubuntu.com/mirrors.ustc.edu.cn/g’ /etc/apt/sources.list # 切换镜像源
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx","-g",“daemon off;”] # 给出入口,off在前台执行不是作为守护进程
EXPOSE 80
注意:1、daemon
2、分号在引号里
3、本地80端口要确保没被占用
4、镜像中端口80不要改,nginx默认80,否则监听不到

# 生成镜像
docker build -t image_name .
# 把当前文件夹下所有文件都建成hello_docker的image
docker run -d -p 80:8000 image_name 
# -d	后台运行一个container
# -p -p 3307:3306  将container中的3306端口映射到主机的3307端口(本地:docker)
# 本机所有ip的3307端口都被映射到container的3306。
curl http://localhost

语法小结

在这里插入图片描述
在这里插入图片描述
3-3 镜像分层
dockerfile中每一行都产生一个新层
在这里插入图片描述
在这里插入图片描述
RO只读,确保镜像原始命令不被修改
生成容器后,容器层是可以修改的RW

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

779醒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值