镜像的一般运用过程
一、镜像(Image)操作
镜像是容器的基础模板,存储在本地或远程仓库中。
1. 镜像拉取
# 从指定镜像源拉取 docker pull docker.m.daocloud.io/library/nginx
2. 镜像查看
# 列出本地镜像
docker images
# 或
docker image ls# 显示镜像详情
docker inspect <镜像ID或名称># 搜索镜像(需连接Docker Hub)
docker search nginx
3. 镜像管理
# 删除镜像
docker rmi <镜像ID>
docker image prune # 清理悬空镜像# 给镜像打标签
docker tag nginx my-nginx:v1# 导出/导入镜像
docker save nginx > nginx.tar
docker load < nginx.tar
4. 构建镜像
# 通过Dockerfile构建
docker build -t my-app:v1 .# 从容器创建新镜像
docker commit <容器ID> my-new-image
总的来说
docker reach 搜索
docker pull 下载
docker rmi 卸载
docker images 列表查看镜像
二、容器(Container)操作
容器是镜像的运行实例。
1. 容器启停
# 启动新容器
docker run -d --name my-nginx -p 80:80 nginx# 启动已停止的容器
docker start <容器ID># 停止容器
docker stop <容器ID>
docker kill <容器ID> # 强制停止docker stats #查看状态
docker logs 查看日志
# 重启容器
docker restart <容器ID>
参数解释,-d:是后台运行
--name:重命名
-p 80:80:表示在别的服务器里访问该机80端口的容器的80端口。(也叫端口映射)
在外机访问显示如下:
这是修改后的镜像,要怎么提交,保存和加载呢
首先提交docker commit
参数 -m:你要提交的信息 ,mynginx是指定的容器 ,myngin:v1.0:指定镜像(也就是你命名的)
保存docker save
-o:把myngin:v1.0写出为mynginx.tar压缩包形式文件
mynginx.tar,就可以传给其他人运行
加载docker load
加载成功,后续可以进行操作
2. 容器查看
# 列出容器
docker ps # 运行中的容器
docker ps -a # 所有容器# 查看容器日志
docker logs -f <容器ID># 查看容器资源使用
docker stats <容器ID># 查看容器进程
docker top <容器ID>
查看所有容器,包括停止的
3. 容器交互
# 进入运行中的容器
docker exec -it <容器ID> /bin/bash# 直接运行命令
docker exec <容器ID> ls /app# 复制文件
docker cp <容器ID>:/path/to/file ./local_path
docker cp ./local_file <容器ID>:/path/、
参数解释:-it :表示要交互的意思,也就是命令的发送等
/bin/bash:使用的方式,也就是使用bash控制台方式交互
ls / : 列出的是容器里的目录结构。(可以看出跟linux是很相似的,有自己文件系统)
修改容器nginx的默认页面
再刷新一下浏览器
默认页面修改成功
4. 容器管理
# 删除容器
docker rm <容器ID>
docker rm $(docker ps -aq) # 删除所有停止的容器# 重命名容器
docker rename old_name new_name# 更新容器配置
docker update --memory 512M <容器ID>
需要注意的是这个删除的容器是要停止的,05a是容器的id前三位也是可以的