Docker学习笔记(四)镜像、容器的命令使用

镜像的使用


举个列子,我想要部署nginx,之前都是自己下载安装,部署,配置。
学习了Docker之后,一切都变得简单

查看仓库有那些nginx版本(OFFICIAL是docker hub 官方版本)

docker search nginx

在这里插入图片描述
下载第一个官方的版本(不指定版本号,默认都是最新版latest)

docker pull docker.io/nginx

我下过了就是这样
在这里插入图片描述
第一次下载,就是这样(这里下载的是mysql)
在这里插入图片描述
查看一下镜像有没有下好

docker images

在这里插入图片描述
创建一个以nginx为镜像的容器(我用的镜像id创建容器的,你也可以使用镜像的全部名称创建容器)
-d 后台运行
-p 端口映射,第一个80:主机端口;第二个80:容器端口

docker run -d -p 80:80 5a3221f0137b

在这里插入图片描述

查看镜像运行情况(2分钟前)

docker ps

在这里插入图片描述

访问本地url

curl localhost:80
在这里插入图片描述
网页测试
在这里插入图片描述


Docker命令


简单的介绍几个比较常用的命令以及他们之间的差异,具体参数请自行查阅,或者输入--help命令查看


info/version


info:显示Docker 系统信息,包括镜像和容器数
verion:显示docker版本信息,有Client和Server

docker info

在这里插入图片描述

docker version

在这里插入图片描述


镜像仓库


login:登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
logout :你懂的?
pull:从镜像仓库中拉取或者更新指定镜像
push:将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
search:从Docker Hub查找镜像

docker login -u 用户名 -p 密码
docker logout
docker pull java
docker push myJava:v1
docker search  java

本地镜像管理


images:列出本地镜像
rmi:删除本地一个或多少镜像(不是容器哦)
tag:标记本地镜像,将其归入某一仓库
build:用于使用 Dockerfile 创建镜像
history:查看指定镜像的创建历史
save:指定镜像保存成 tar 归档文件
load:导入使用 docker save 命令导出的镜像
import:从归档文件中创建镜像
export:导入使用 docker import命令归档的镜像
save 和 load 不可与 import 和 export 混用

docker images
docker rmi java
docker build -t java:v1 . (<-我是点,表示当前目录下的Dockerfile文件)
docker history java
docker save java:load>/root/java.tar
docker load<java.tar
docker export 98ca36> java.tar
docker import - java:import

容器生命周期管理


run:创建一个新的容器并运行一个命令
start/stop/restart:启动/停止/重启一个容器
kill:结束一个运行中的容器
rm:删除一个或多少容器
pause/unpause:暂停/恢复容器中所有的进程
create:创建一个新的容器但不启动它 (语法同run)
exec:在运行的容器中执行命令

docker run -d -p 8080:80  --name mynginx nginx:latest
docker start/stop/restart  mynginx
docker kill -s KILL mynginx
docker pause/unpause mynginx
docker create -d -p 8080:80  --name mynginx nginx:latest
docker exec -it mynginx bash

容器操作


ps:列出容器
inspect:获取容器/镜像的元数据
top:查看容器中运行的进程信息,支持 ps 命令参数
attach:连接到正在运行中的容器(链接断开,容器自动关闭,没有exec好用)
events:从服务器获取实时事件
logs:获取容器的日志
wait:阻塞运行直到容器停止,然后打印出它的退出代码
export:将文件系统作为一个tar归档文件导出到STDOUT
port:列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口

docker ps
docker inspect mysql:5.6
docker top mymysql
docker attach --sig-proxy=false mynginx
docker events -f "image"="mysql:5.6"
docker logs -f mynginx
docker wait mynginx
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
docker port mymysql

容器rootfs命令


commit:从容器创建一个新的镜像
cp:用于容器与主机之间的数据拷贝
diff:检查容器里文件结构的更改

docker commit  -m "my mysql" a2a4r4c174a2  mymysql:v1 
docker cp e:\mysql.sql a2a4r4c174a2:/root
docker diff mymysql

??????????????
?如果,各位读者发现什么错误,请指正?
?如果,遇见什么问题,也可以与我联系?
??????????????

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值