2021年6月19日——docker常用命令

# 从哪个服务器上的哪个用户的哪个仓库拉取哪个tag的镜像
docker pull docker.io:80/library/ubuntu:latest

# 前台运行容器,--rm 用完就删掉容器
docker run -it --rm --name=myunbuntu ubuntu 

# 查看操作系统信息
cat /etc/os-release
cat /etc/lsb-release
docker image ls

# 查看docker占用的资源
docker system df

# 列出id
docker image ls -q

# 列出摘要
docker image ls --digests
# 删除镜像
docker image rm (part id)|(repository:tag)|(digests)
    
docker image rm `docker image ls -q`
# 查看容器进行了哪些操作
docker diff (容器name或id)

# 查看镜像的生成历史
docker history (镜像)

# 暂时保存一个我们已经修改的容器为镜像
docker commit --author "leo leo@qq.com" --message "修改了index.html" webserver nginx:v2
# Dockerfile
FROM nginx
# \ 而不是 /
RUN echo "<h2>hello docker!</h2>" > /usr/share/nginx/html/index.html \
    && echo "<p>I am create a new mirror file by Dockerfile!!!</p>" >> /usr/share/nginx/html/index.html
    
docker build -t nginx:v3 .    
# 启动容器,后台运行它
docker run -itd --name webserver -p 2333:80 -v /home/leo/nginx:/usr/share/nginx/html nginx

# 后台运行的容器没法主动输出内容到终端,这个命令就可以查看输出内容
docker logs (容器)
# 进入一个运行的容器,但是一旦退出,容器就终止了
docker attach webserver

# 进入一个运行的容器,但是一旦退出,容器并不终止
docker exec -it webserver /bin/bash
# 保存快照
docker export webserver > nginx.tar

# 导入快照
cat nginx.tar | docker import - nginx:test
# 上传镜像至dockerhub
docker tag nginx:v1 tiejiankudan/nginx:v1
docker push tiejiankudan/nginx:v1
# 私有仓库
docker run -d -p 5000:5000 --restart=always --name registry registry
docker tag nginx:v3 192.168.10.100:5000/nginx:v1
docker push 192.168.10.100:5000/nginx:v1

# 解除安全限制
vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "insecure-registries": [
    "192.168.10.100:5000"
  ]
}
systemctl daemon-reload
systemctl restart docker
# 创建一个数据卷
docker volume create my-vol

# 查看所有的数据卷,不能查到我们用-v指定的目录
docker volume ls

# 查看数据卷信息
docker volume inspect my-vol

# 将数据卷挂载到容器里
# 用docker创建的数据卷如果为空的话,容器里挂载点的文件会自动拷贝到数据卷目录下
# 之前用-v指定自定义目录则不会
docker run -itd --name web1 -p 9001:80 --mount source=my-vol,target=/usr/share/nginx/html nginx
docker run -itd --name web2 -p 9002:80 -v my-vol:/usr/share/nginx/html nginx

# 删除数据卷
docker volume rm my-vol

# 删除容器时删除数据卷
docker rm -v web1

# 自动清理没有挂载的数据卷
docker volume prune

# --mount也可以和-v一样指定目录挂载
docker run -itd --name web3 -p 9003:80 --mount type=bind,source=/home/leo/docker/nginx/html3,target=/usr/share/nginx/html nginx
# 查看容器的端口映射情况
docker port (容器)
# 自定义一个网络
docker network create -d bridge my-net

# 查看有哪些网络
docker network ls

# 使容器之间连接一个网络,这样双方就可以ping通
docker run -it --rm --name busybox1 --network my-net busybox sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值