Docker 的基本概念和操作
Docker-Practice
Docker 包括三个基本概念
- 镜像(Image)、容器(Container)、仓库(Repository)
概念理解:https://www.cnblogs.com/qdhxhz/p/9865658.html
配置Docker 镜像国内源
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
镜像基础命令
#查看docker详细信息
docker info
#启动/停止/重启docker:
systemctl start/stop/restart/enable/status docker
#查找镜像
docker search 镜像名称
#列出镜像
docker images
docker image ls
docker image ls -a
#拉取镜像
docker pull 镜像名称[:version]
#删除镜像
docker rmi 镜像名称/id
docker image rm 镜像名称/id
#查看具体镜像内的历史记录
docker history
#构建镜像的方式
1.使用docker commit 2.dockerfile+ docker build 的方式构建
导出和导入镜像
docker save
docker load
容器基础命令
#创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
options选项: ‐i 交互模式,通常与 -t 同时使用
‐t 分配终端,通常与 -i 同时使用
‐d 后台运行
‐‐name 指定容器名称
-e 设置环境变量
-p 指定端口映射 -P随机端口映射
--rm 容器退出时自动清理容器文件
#查看容器
docker ps:查看正在运行的容器
docker ps ‐a:查看运行过的容器
#进入容器
docker attach 容器名称/id (ps:exit,容器停止)
docker exec ‐it 容器名称/id /bin/bash (ps:exit,容器不会停止)
#启动/终止/重启/删除容器
docker container start/stop/restart/rm 容器名称/id
#变更的内容保存为新镜像
$ docker commit \
--author "Tao Wang <twang2218@gmail.com>" \
--message "修改了默认网页" \
webserver \
nginx:v2
sha256:07e33465974800ce65751acc279adc6ed2dc5ed4e0838f8b86f0c87aa1795214
#删除所有容器
docker container prune
docker rm `docker ps ‐a ‐q`
#查看容器日志
docker logs 容器名称/id
#查看容器/镜像全部信息
docker inspect 容器/镜像
#导出/导入容器
docker export/import
docker save
#容器文件拷贝
docker cp c2:/root/2.txt /root
Docker仓库
是Docker集中存放镜像文件的地方,官方公共仓库:https://hub.docker.com/
#设置镜像标签
docker tag local-image:tagname new‐repo:tagname
eg: docker tag ubuntu:18.04 jyd0124/ubuntu:18.04
#推送镜像到仓库
docker push new‐repo:tagname
eg: docker push jyd0124/ubuntu:18.04
自动构建 :指定一个Github或BitBucket上带Dockfile的项目,只要项目有新的提交,就会自动构建镜像并推送。
私有仓库:
- 使用官方提供的docker-registr工具构建私有镜像仓库
- 配置私有仓库认证
具体搭建过程请参考其他教程..