一、基本概念
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口[1]。
虚拟机技术(左)和容器技术(右)的关系如下图所示[2]:
需要了解三个重要的概念:容器、镜像、仓库[3]。
“从仓库(一般为DockerHub)下载(pull)一个镜像,Docker执行run方法得到一个容器,用户在容器里执行各种操作。Docker执行commit方法将一个容器转化为镜像。Docker利用login、push等命令将本地镜像推送(push)到仓库。其他机器或服务器上就可以使用该镜像去生成容器,进而运行相应的应用程序了[4]。”
二、安装Docker
Docker官网:https://www.docker.com/。通过官网提示在Linux、Windows或苹果系统中安装Docker。Docker可以有桌面窗口(Desktop版本),也可以无桌面窗口(引擎版本)。在Linux系统下使用无桌面窗口的版本,然后通过命令行操作,这种方式可以对Docker有比较清晰的了解。
此外,在Linux系统中直接输入以下命令可以快捷完成Docker的安装(无桌面窗口)[5]。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Docker引擎的官方文档的链接:https://docs.docker.com/engine/。
三、Docker的使用
1. 获取Ubuntu镜像
docker pull ubuntu
Docker Hub官网:https://hub.docker.com/。
2. 查看本地所有镜像
docker images
3. 使用ubuntu镜像创建一个容器
docker run -it ubuntu /bin/bash
或者用这个命令,额外指定容器名字和端口:
docker run -it --name ubuntu -p 8080:20 ubuntu /bin/bash
4. 退出某个容器
exit
5. 查看所有容器
docker ps -a
6. 启动或重启某个容器
docker start 容器ID
docker restart 容器ID
7. 进入某个容器
docker attach 容器ID
8. 进入某个容器(通过这种方式进入容器,exit退出不会导致容器的停止)
docker exec -it 容器ID /bin/bash
9. 删除某个容器
docker rm -f 容器ID
10. 删除某个镜像
docker rmi 镜像名
11. 复制容器中的文件
sudo docker cp 容器ID:/a.py /a.py
sudo docker cp /a.py 容器ID:/a.py
四、容器的导出导入
1. 导出(导出为压缩包)
docker export 容器ID > new_ubuntu.tar
2. 导入(导入为镜像)
docker import new_ubunbu.tar new_ubuntu_镜像名
3. 查看导入情况(查看镜像)
docker images
五、设置Docker重启后自动运行
docker update --restart=always 容器ID
六、更新配置
调整容器的内存限制(调整为1g)
docker update -m 1g 容器ID
参考资料:
[1] Docker_百度百科
[3] Docker 入门教程
[5] https://www.runoob.com/docker/
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】