docker
使用常用命令
1.镜像使用
列出主机上的镜像
docker images
搜索镜像
docker search ubuntu18.04
下载镜像
docker pull brcloudproject/ubuntu18.04-mpich
启动镜像
docker run -d -it --name ubuntu -p 8022:22 ubuntu18.04 bash
启动
docker exec -it ubuntu bash
查看日志
docker logs -f 容器名
调试重启
docker restart 容器名
进入容器,查看
docker exec -it 容器名 bash exit 【推出容器,但是容器后台还是在运行中】
停止运行容器
docker stop 容器名
删除容器
docker rm 容器名
查看容器中的映射端口
# 会显示 容器 中 9090端口 主机上是什么端口映射过来的 docker port 容器名 9090
编译
dockerfile
文件docker build -t ubuntu18.04-image -f ubuntu18.04.Dockerfile .
-t
后面是镜像名:标签;-f
后面为dockerfile目录
;最后的.
表示生成到当前目录。保存镜像
# 把myimage镜像保存成tar文件 docker save myimage | bzip2 -9 -c> /home/save.tar.bz2
加载镜像
# 加载myimage镜像 bzip2 -d -c < /home/save.tar.bz2 | docker load
查看镜像
docker images
给镜像打
tag
# tag 后为原来的镜像名;后面的为现在要命名的 镜像名:标签号 docker tag ubuntu18.04-image ubuntu18.04-image:v1
删除一个
tag
docker rmi ubuntu18.04-image:v1
从容器中创建一个新的镜像
docker commit #举例: -a表示提交的作者,-m表示提交的说明;b101c1c114a2是容器;最后是保存的镜像名和标签 docker commit -a "lmwings" -m "test commit" b101c1c114a2 myimage:v1 # 可以看到输出 sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057 runoob@runoob:~$ docker images myimage:v1 REPOSITORY TAG IMAGE ID CREATED SIZE myimage v1 37af1236adef 15 seconds ago 329 MB
登录
docker hub
docker login
重命名镜像
# 这里将ubuntu18镜像重命名为lmwings/Ubuntu18:v1 docker tag ubuntu18 lmwings/Ubuntu18:v1
推送到
docker hub
上去#没有v1那就是默认laster最新的版本 docker push lmwings/Ubuntu18:v1
删除本地的镜像
docker rmi lmwings/Ubuntu18:v1
记录一个可能会删除失败的处理方法;
一种是做了重命名的,也就是看到id是一样的,这个时候删除需要原始的那个,正常就是越后面那个;
另一种失败是做了挂载映射目录,需要想找到映射目录,然后删掉:
cat /proc/mounts | grep "docker" # 删除挂载的,实际的时候路径是不一样的 umout /var/lib/docker/containers rm -rf /var/lib/docker systemctl start docker
的