docker常用指令
docker常用指令:
docker images:显示镜像库

docker ps:列出正在运行的容器
docker ps -a:列出所有容器
docker pull:下载镜像

docker run:运行容器
-d:后台运行
-i:未登录时保持open状态
-t:分配一个终端
--name:名称
启动关闭暂停
docker start 2464375ba88f:启动容器
docker stop 2464375ba88f:停止容器
docker pause 4a5ed4f1bbaa:暂停容器
docker unpause 4a5ed4f1bbaa:取消暂停容器
docker exec:进入一个运行的容器

-w:进入指定目录、
-u:使用指定用户进入容器

docker cp nginx-1.24.0.tar.gz 488144a1651d:/opt:像容器内传文件
在底层OS访问容器内的服务:
在容器内的nginx中/usr/local/nginx/conf/nginx.conf加一条命令,从后台拉到前台,daemon off

底层OS命令:curl 172.17.0.2:8011
docker指令详解:
docker由来:

docker pull 下载镜像:
下载公共镜像:docker pull centos:7
下载私有镜像:
云上私有镜像仓库:例如华为云RWS,在我的镜像中客户端上传
本地创建私有镜像:
docker push 镜像上传到注册表:
docker push [OPTIONS] NAME[:TAG]
docker tag 修改images的名字:
docker tag XXX:XXX XXX:XXX
docker run从映像创建并运行新容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it --name xxx centos:7 [执行的指令]
-i:保持标准输入打开
-t:分配一个伪终端TTY(独占当前终端)
-d:后台运行并输出容器ID
-c:显示CPU使用量
-m:限制内存使用量
-p:映射逻辑端口,通过本机0.0.0.0:xx可以访问容器
-e:加一个环境变量
-v:volume list本机目录映射给容器目录
本地私有镜像制作:
docker run -d -v /opt/registry:/var/lib/registry:rw -p 5000:5000 --name registry registry:2
:rw:表示可读可写
改镜像的标签名 docker tag nginx:latest 0.0.0.0:5000/nginx:v1
再进行push

curl https://0.0.0.0:5000/v2/

因为版本原因,需要去设置忽略检查,在vi /etc/docekr/daemon.json里面写一条命令

命令写完后需要重启服务
systemctl daemon-reload
systemctl restart docker
push镜像:docker push 0.0.0.0:5000/nginx:v1
通过curl http://0.0.0.0:5000/v2/_catalog查看
docekr inspect 查看镜像的明细信息:
docekr inspect
docker history 查看镜像的分层&历史

docker search 查找镜像 用法:
docker search --help

docker rmi 删除镜像 用法:
docker rmi XXX

docker rm 删除容器 用法:
docker rm xxx
-f:强制删除正在运行的容器
删除全部容器:docker rm -f 'docker ps -qa'
docker commit 用法:
docker commit -a “作者信息” -m “message string” -c 'CMD ["nginx"]' xxx 容器 容器:版本
docker commit -c 'ENTRYPOINT ["nginx"]' 2efc36ccf7fd centos7_nginx:2.0
在单次执行命令时,CMD和ENTRYPOINT用法一致,多次用法不一致
docker save 用法:
保存一个镜像
docker save -o centos7:1.0_nginx.tar centos7_entrypoint:2.0

docker load 导入镜像用法:

docker create 创建容器:
使用docekr create后还需要开启容器docker start
挂载volume给容器:
先创建一个文件夹,并写一个index.html。将这个文件挂载给运行的容器centos7:1.0
docker run -it -v /opt/index:/usr/local/nginx/html:rw -p 86:80 centos7:1.0
运行结果:

如何修改该index.html:
vi /opt/index/index.html直接修改挂载的文件即可
volume
每封装一次(commit)打一层snap(快照)
docker logs 查看容器日志 用法:
docker logs 17d8aac35913
docker network :
网络类型:
- none:不配置网络
- bridge:网桥

- host:继承主机的网络配置
docker network create创建一个容器网络:
docker network create -d bridge --subnet 192.168.200.0/24 br0
docker run -it --name centos-net002 --network docker1 busybox
同网桥内容器可以互通,不同网桥容器不互通(不同网桥是不同的网段)
docker run -it --network host busybox
继承主机的网络
docker run -it --network none busybox
创建了一台没有网卡的容器
docker network connect --link:
使用--link选项将另一个容器与首选别名链接,(容器会有两个bridge)
docker network connect --link bridge docker2 455701ea5149
