架构
● Docker_Host:安装Docker的主机
● Docker Daemon:运行在Docker主机上的Docker后台进程
● Client:操作Docker主机的客户端(命令行、UI等)
● Registry:存储镜像的仓库(默认是docker hub,当然自己也可以加上自己的Register)
● Images:镜像,带环境打包好的程序,可以直接启动运行
● Containers:容器,由镜像启动起来正在运行中的程序
命令如下
# docker自身信息查看命令
docker version # 查看版本
docker info # 查看docker的详细信息
# images管理命令
docker search $imageName # 从存储镜像的仓库(默认是docker hub,也可以加上自己的Register,搜索私库时要login)根据镜像名搜索镜像
docker pull $imageName[:$tag] # 从存储镜像的仓库下载镜像
docker build -t $imageName:$tag -f $dockerFilePath # 根据Dockerfile打包出自己的镜像
docker load -i $input_file.tar # 从外部tar文件加载镜像到本地
cat $file | docker import - $imageName:$tag # 从外部文件到本地形成imageName:tag镜像
docker commit -a $author -m $message $containerId $imageName:$tag # 根据containerId生成镜像
docker images # 查看本地镜像
docker rmi $imageId[,$imageId...,$imageId] # 删除本地镜像
docker save -o $output_file.tar $imageName:$tag # 将本地镜像导出成tar文件
# containers管理命令
docker run --name=$myNginx -d --restart=unless-stopped -p 88:80 $nginx # 通过nginx镜像启动一个名为myNginx的容器,将镜像的80端口映射到本机的88端口,并在后台运行
docker run -it $ubuntu /bin/bash 通过ubuntu镜像启动一个容器,然后并在容器内调用/bin/bash命令
docker exec -it $containerId /bin/bash #新开一个bash进入容器内
docker stop $containId # 停止容器
docker ps -a # 打印所有容器
docker rm -f $containerId # 强制删除容器
docker logs $containerId # 查看前台日志
docker top $containerId # 查看容器内进程
docker inspect $containId # 查看容器具体配置信息
docker cp $containId:$containPath $hostPath # 将容器内文件复制到宿主机文件上
docker export $containId > $file # 将当前容器导出成一个文件