Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法:
解决方法:将 /etc/docker/daemon.json 中的"registry-mirrors"的内容换成如下内容
{ "registry-mirrors": [ "https://docker.211678.top", "https://docker.1panel.live", "https://hub.rat.dev", "https://docker.m.daocloud.io", "https://do.nark.eu.org", "https://dockerpull.com", "https://dockerproxy.cn", "https://docker.awsl9527.cn" ] }
镜像操作
docker pull nginx 拉取镜像
docker images 查看镜像
docker save -o [保存的目标文件名称] [镜像名称] 例如:docker save -o nginx.tar nginx:latest 将镜像保存到磁盘(宿主的)
docker rmi -f nginx 删除镜像(注意删除的不是宿主保存下来的镜像,而是通过docker images 能查看到的镜像)
docker load -i nginx.tar 加载宿主镜像
docker rmi $(docker images -q) 删除所有镜像
容器操作:
docker stop $(docker ps -aq) 停止所有运行中的容器
docker rm $(docker ps -aq) 删除所有容器
docker run --name jjw -p 80:80 -d nginx 创建/运行一个容器 参数解析:
docker run :创建并运行一个容器,–name : 给容器起一个名字(随便起比如jjw),-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器,nginx:镜像名称,例如nginx 此操作后再浏览器中输入宿主机ip即可访问nginx服务器
docker stop 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02 停止一个容器的运行,也可以通过
docker stop jjw(容器名) 方式停止一个容器的运行
docker start jjw 重启一个容器
docker pause 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02 让一个运行的容器暂停
docker unpause 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02 让一个容器从暂停状态恢复运行
docker rm 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02 删除一个容器
docker exec -it jjw bash 进入容器名为jjw的容器 参数解读:
docker exec :进入容器内部,执行一个命令,-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互,
jjw:要进入的容器的名称,bash:进入容器后执行的命令,bash是一个linux终端交互命令 进入后能对容器里边的文件进行操作 如下图所示 用exit+回车退出容器
docker ps 查看容器状态
docker ps -a 查看所有容器,包括已经停止的
docker logs jjw 查看容器日志的命令
docker logs jjw -f 添加 -f 参数可以持续查看日志
卷操作
docker volume prune -f 删除所有卷
docker volume create html 创建一个名为html的数据卷-volume 此步骤创建完后的数据卷里边是没有内容的
docker volume inspect 显示一个或多个volume的信息 例如:docker volume inspect html 查看数据卷详细信息卷
可以看到,我们创建的html这个数据卷关联的宿主机目录为/var/lib/docker/volumes/html/_data目录
docker volume ls 列出所有的数据卷
docker volume prune 删除未使用的volume
docker volume rm 删除一个或多个指定的volume
docker run --name jjw -v html:/usr/share/nginx/html -p 80:80 -d nginx 创建容器并挂载数据卷到容器内的HTML目录
参数解析: -v html:/usr/share/nginx/html 把html数据卷挂载到容器内的/root/html这个目录中,挂载的操作会将容器中的/usr/share/nginx/html 这个目录下的html目录中的内容复制一份到数据卷中 如下图所示。注意当数据卷挂载到容器上后,修改数据卷中的内容,容器中的内容是会一并修改的