docker几个重要概念
- docker:类似一个轻量级的虚拟机,仅保留内核,去除了很多无关的功能,在其上可以独立的安装大量容器,每个容器都有独立的运行环境。
- 仓库 存放docker镜像
- 镜像(image) 打包的运行环境
- 容器 (container)镜像在docker上运行后就是对应的一个容器
- dockerfile 通过dockerfile可以自定义生成一个镜像
docker一些常用操作
docker服务启动
systemctl start docker
镜像的查找
- 代码查找
docker search 待查找镜像名
docker search fastqc # 查找fastqc相关镜像资源
-
网站查找
docker hubs
镜像下载
docker pull 镜像名
docker pull nfcore/fastqc
镜像状态查看与删除
docker images # 查看所有下载镜像
docker rmi 镜像名/镜像ID # 删除镜像
镜像运行—生成容器
docker run --mount type=bind,source=本地主机路径,target=docker容器路径 --name 容器名 -p 7778:22 -p 7788:7788 --ipc host -dit 镜像名/镜像ID
-it 与容器bash进行交互
-d 后台运行
source 指定本地主机与docker文件进行共享的路径
target 指定docker容器与本地主机交互的路径如/workspace
-p 指定docker与容器交互的接口,7788方便后期链接vscode
也可以-v 本地路径:docker容器路径 将本地文件夹挂载到docker容器,实现交互
容器一些操作
-
容器情况查看
docker ps # 展示目前正在运行的容器 docker ps -a # 展示所有容器,包括停止 docker ps -q # 仅展示容器ID
-
容器删除
docker rm 容器名/容器ID # 移除容器
-
容器运行操作
docker start 容器名 # 启动容器 docker attach 容器名 # 进入容器 docker exec -t 容器名 待运行脚本 # 直接通过终端控制,在docker容器运行脚本 docker stop 容器名 # 停止容器 docker kill 容器名 # 终止容器 docker cp # 从主机拷贝数据到容器 docker exec -it 容器名 /bin/bash # docker容器终端多开
注意:docker attach进入容器,相当于进入一个安装特定工作环境的linux中
-
容器保存
# 将容器保存为新镜像 docker commit -a='author' -m='comment' 容器名 包名/镜像名:版本号(Tag) # 镜像本地保存 docker save -o /path/filename.tar 镜像名 # 载入本地镜像 docker load —input 保存镜像文件名
-
docker 容器扩容
docker容器默认空间只有10G,以root用户登录对应节点,编辑“daemon.json”文件,
vi /etc/docker/daemon.json 在文件中增加一条“dm.basesize=15G”,15G即容器存储空间大小,可以配置为其他值
然后重启docker,
systemctl restart docker
使用
df -h
查看容器是否扩容 -
docker容器与主机共享文件
# 共享D:盘 docker run -p 6777:6379 -v /D/Docker/redis/data:/data -d redis redis-server --appendonly yes # docker cp 宿主局文件/路径 容器名:容器内路径 docker cp /home/Download/index.html wordpress-lee:/var/www/html # docker cp 容器名:文件/路径 宿主机路径 docker cp wordpress-lee:/root/example.sh /root # 构建容器时报警告 缺少linux/amd64 docker run --plotform linux/amd64