【常用命令总结】
系统----------------------------------------
systemctl restart docker && docker start $(docker ps -a -q) //重启时直接开启说有容器
【镜像】---------------------------------------------------------------------
docker images //查看本地的镜像
docker rmi centos:latest //用来删除指定镜像
镜像--启动部分--------------------------------------------------------------
docker run -itd 镜像名 //把镜像启动为容器 其实他也等于下面的这两条命令
docker create -itd centos6 bash 然后 docker start container_id //等同于上一条命令
对于上面两条命令,如果不加-d 你进入了容器后,退出容器,容器就停止了
docker run --name web -itd centos bash // --name 启动时给容器自定义名字
docker run --rm -it centos bash -c "sleep 30" //--rm 可以让容器退出后直接删除,在这里命令执行完容器就会退出(不常用)
docker run -itd -p 5123:80 镜像 bash //端口映射,左为宿主机:右为容器
docker run -itd --privileged -e "container=docker" centos_with_nginx /usr/sbin/init //解决无权限启动服务的办法,红色部分
镜像--导入导出部分-----------------------------------------------------------
cat centos-6-x86-minimal.tar.gz|docker import - centos6 //其他地方下载的镜像导入进docker(和export对应)
docker export container_id > file.tar //导出文件,可以迁移到其他服务器
docker save -o aming-centos.tar aming //现有镜像保存成文件(本机备份)
docker load --input aming-centos.tar 或者 docker load < aming-centos.tar //两种方式将save下来的文件导入(本机恢复)
【容器】------------------------------------------------------------------------------------------------
docker ps //查看运行的容器,加上-a选项后可以查看所有容器,包括未运行的
docker stop 容器id 或者 docker rm 容器id //这两种方式停止容器
docker exec -it 容器id或自定义名称 bash//进入容器 如果创建这个容器时用 --name定义了名字,这可以用定义名字进入
docker commit -m "一些改动信息" -a "作者相关信息可以不加" 容器id(container_id) 最后新镜像的名字 //将容器保存成镜像
docker logs container_id //查询容器运行历史信息
【仓库】-----------------------------------------------------------------------------------------------
docker pull centos//从官方仓库下载镜像(最好搭配加速器,请看 Docker管理的【docker镜像管理】部分)
搭建私有仓库请看Docker管理的【Docker搭建私有仓库管理】
【数据管理】----------------------------------------------------------------------------------------
docker run -tid -v /data/:/data 镜像 bash //创建容器时定义挂载的本地目录对应容器内的目录(左宿主机:右容器)
docker run -itd --volumes-from 容器name 镜像 bash //我的理解:通过上一条命令产生的容器,也弄一个跟他一样挂载本地目录的容器
docker run -itd -v /data/ --name 自定义名字 镜像 bash //我的理解:创建一个容器,这个容器的/data/目录是用来存放数据的,后续如果创建其他容器时--volumes-from 加这个容器的名字,那么数据实际就是在这台容器上,而不是其他容器上。