用于获取某个命令的帮助信息
#命令帮助
docker 命令 --help
使用命令换符,可以让繁杂命令变得有条理
#命令换行,使用换行符 \
docker ... \
... \
对于常用镜像可以从官方镜像仓库获取,pull命令拉取到本地镜像仓库
docker pull 镜像名或者镜像名:tag
#注意:如果pull后不指定镜像版本(或叫标签),直接使用镜像名=镜像名:latest,也就是下载最新的-英[ˈleɪtɪst]:最新的
docker pull 镜像名:latest
查看镜像,镜像的英文image,其复数形式images,所以有
#镜像查看
docker images
那么镜像删除呢?镜像英文image,所以 ‘rm’ +‘i’
#镜像删除
docker rmi 镜像名或者镜像id
如果要修改镜像名(或者叫标签名),使用tag
docker tag 镜像名:tag 新镜像名和tag
docker tag 镜像id 新镜像名和tag
镜像保存成tar压缩包格式,便于文件传输和使用
docker save -o 文件名.tar 镜像名或者镜像id
对于tar压缩包格式的镜像,如果想要加载,需使用此指令
docker load -i 压缩包名.tar
docker容器运行,自然而然想到docker run。那么run的是什么?得到什么呢?如何记忆
运行镜像,得到镜像运行后对应的容器,其相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)
#注意:镜像名是镜像名:版本,直接使用镜像名=镜像名:latest
docker -run 镜像名或者镜像id
但是还不够,我们需要给容器命名,所以有--name=容器名
docker run --name=容器名 镜像名或者镜像id
容器命名了,还需要让容器在后台启动,所以有了-d
docker run --name=容器名 -d 镜像名或者镜像id
如果主机重启了,你会发现容器不会重新运行,想开机自启动,所以有--restart=always
docker run --name=容器名 -d --restart=always 镜像名或者镜像id
容器的私有网络如果想通过主机访问,那么需要主机与容器端口映射, -p 主机端口:容器端口
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 镜像名或者镜像id
目录挂载,是为了解决docker重启后,之前容器运行的配置或者数据丢失,所以要将主机目录与容器目录做映射,使用 -v参数,注意需要确保主机目录存在,否则挂载不生效
#总结:--name 容器命名,-d 后台启动,--restart 开机自启动,-p 端口映射, -v 目录映射(多个映射使用多个-v)
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 -v 主机目录:容器目录 镜像名或者镜像id
容器删除直接记remove缩写rm
#容器删除,针对已经停止的容器
docker rm 容器名或者容器id
查看容器,ps是process status,是在Linux系统中是常用的进程管理命令,这里docker ps与之异曲同工
#正在运行的容器查看
docker ps
#如果要看所有的容器,比如还能看停止的容器
docker ps -a
启动/停止/重启容器,自然而然想到start/stop/restart
#启动容器
docker start容器名或者容器id
#停止容器
docker stop 容器名或者容器id
#重启容器
docker restart 容器名或者容器id
容器启动后,如果想要更新运行参数,可以使用update命令
docker update 容器名或者容器id 需要追加的参数
-i选项代表使用交互方式,-t代表打开一个终端,/bin/bash作用是进入后启动bash命令支持
docker exec -it 容器名或容器id /bin/bash
进入到容器后,如果想修改其内容,并重新打成新的镜像
docker commit 镜像名或者镜像id 新镜像名和tag
#参数-a author缩写,-m message缩写
docker commit -a "作者" -m "描述" 镜像名或者镜像id 新镜像名和tag
有时需要排查容器运行的问题,可以使用logs命令
docker logs 容器名或者容器id
#从容器拷贝到主机
docker cp 容器id:容器文件或目录 主机文件或目录
#从主机拷贝到容器
docker cp 主机文件目录 容器id:容器文件或目录
docker login -u "用户名" -p "密码" 远程镜像仓库地址(不写默认官方)
docker logout
docker push 镜像名或镜像id
待续。。。