文章目录
镜像
拉取镜像:docker pull
拉取镜像:
docker pull hello-world
- docker默认源是Docker Hub,镜像名可以在在搜索栏搜索
如果是向从其他仓库拉取,可以这么使用
docker pull DOMAIN:PORT/testing/test-image
注意,其中的DOMAIN默认使用http://,所以不用加了
- 默认的tag是latest,即
docker pull hello-world
其实相当于
docker pull hello-world:latest
PS:pull时候也是默认latest。。
其中的lastest是tag,如果想要拉取其他特定tag,指tag即可。除了用tag指明外,也可以使用@摘要(digest)来拉取,e.g.
docker pull hello-world@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
如果想要拉取一个name下的所有tag/digest镜像,可以使用-a参数:
docker pull -a hello-world
详细可见:
可以看到,[OPTIONS]可省,[:TAG | DIGEST]可省,如果使用,可以使用则二选一
查看镜像:docker images
docker images
删除镜像:docker rmi
docker rmi NAME
强制删除-f,具体用法自己查。
容器
创建容器:docker run <IMAGE_ID>
docker run <IMAGE_ID>/<IMAGE_NAME:TAG>
如果run的镜像本地不存在(没有pull),则会去仓库(地址默认或配置的地址)拉取后执行run。
当然,可以添加很多启动参数,这里不说。
查看容器:docker ps -a
docker ps -a
ps:Process Status,a:All。
不加a只会列出STATUS为up(正在运行)的容器。
具体用法:
其中的STATUS显示了当前container的启停状态
停止容器:docker stop
docker stop CONTAINER_ID
重启已停的容器——
docker start CONTAINER_ID
可见:
docker restart命令和start命令的作用是一样的。
删除容器:docker rm
docker rm CONTAINER_ID
注意,
docker rm -f CONTAINER_ID
可以强制删除正在运行的容器,相当于stop —— rm。
但是不建议,这样可能会导致其原型——镜像删除时候报错,也需要使用docker rmi -f才能删除
交互式操作的容器终端:docker exec -it
登录
sudo docker exec -it <container_id> /bin/sh
注:attach命令多个终端自动同步,不便多人同时操作容器
登出
exit
或者
Ctr + D
不是Ctr + Z
容器和宿主机互传文件:docker mv
容器到宿主机:
sudo docker cp <container_id>/<container_name>:ABSOLUTE_PATH HOST_PATH
宿主机到容器:
sudo docker cp HOST_PATH:<container_id>/<container_name>:ABSOLUTE_PATH
可以看到,这和Linux的cp指令没有什么不同。
强制停止docker本身的运行
有时遇到docker本身故障,卡死,这时候直接去任务管理器——搜索docker——kill