1、docker快速安装
在 Linux上 安装 Docker,适用于Ubuntu,Debian,Centos等大部分Linux,会3小时同步一次Docker官方资源 。
root@ubuntu:~# curl -sSL https://get.daocloud.io/docker | sh
# 查看docker版本
root@ubuntu:~# docker -v
Docker version 19.03.8, build afacb8b7f0
# 运行第一个docker命令
root@ubuntu:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
2、基本命令
docker 镜像的命名,名字:标签
搜索镜像
~# docker search centos
下载镜像
~# docker pull centos:7
查看本地镜像
~# docker images
运行镜像
~# docker run centos:7
docker run命令的一些参数:
-d : 后台运行容器,并返回容器ID;
-it : 以交互模式运行容器,通常与 -t 同时使用;
-p : 指定端口映射,格式为:主机(宿主)端口:容器端口;
-v : 共享目录,格式为:主机(宿主)目录:容器目录;
-w : 设定容器的工作目录;
--rm : 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
更多参考docker run --help
查看运行中的容器及所有容器的状态
~# docker ps -a
停止镜像
~# docker stop 容器 ID(前四位即可)
列出所有的容器 ID
~# docker ps -aq
停止所有的容器
~# docker stop $(docker ps -aq)
删除所有的容器
~# docker rm $(docker ps -aq)
删除所有镜像
~# docker rmi $(docker images -q)
基于已有的docker容器,做一新的dokcer image
docker commit <container_id> <image_name>
重命名镜像名称和TAG
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
复制文件
docker cp mycontainer:/opt/file.txt /opt/local/
docker cp /opt/local/file.txt mycontainer:/opt/
镜像与容器的离线保存、加载
- 镜像的离线保存、加载:save/load
例如我们想将镜像库中的postgres和mongo打包,那么可以执行:
docker save -o images.tar postgres:9.6 mongo:3.4
docker save如果指定的是container,docker save将保存的是容器背后的image。
将打包后的镜像载入进来使用docker load,例如:
docker load -i images.tar
上述命令将会把postgres:9.6和mongo:3.4载入进来,如果本地镜像库已经存在这两个镜像,将会被覆盖。
- 容器的离线保存、加载:export/import
docker export -o postgres-export.tar postgres
docker import postgres-export.tar postgres:latest
总结一下docker save和docker export的区别:
1、docker save保存的是镜像(image),docker export保存的是容器(container);
2、docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
3、docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
4、docker save的应用场景是,使用docker save将用到的镜像打个包,然后拷贝到客户服务器上使用docker load载入。
5、docker export的应用场景主要用来制作基础镜像。
3、高级设置技巧
- --storage-opt size=20G 与docker run合用,配置单个容器的磁盘空间。
网友评论