Docker 基本操作

1、关于Docker架构

Docker的运行流程原理大概可以参考以下这图,要了解更详细的知识点可参考其官方文档哦。

2、Linux下安装Docker社区版(以centos7为例)

  • yum源使用阿里云的源
cd /etc/yum.repos.d/
#下载阿里云yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
  • 重置yum源
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache
  • 安装docker
#查看阿里云上docker 源信息
yum list docker-ce
#安装docker最新社区版(截止目前最新版本是18.09)
yum -y install docker-ce
#查看docker版本
docker -v
#启动docker
systemctl start docker
#查看docker详细状态信息
docker info

3、常用操作

  • 拉取镜像
// 下载官方nginx镜像源, 等同于docker pull docker.io/nginx, 
// 也等同于 docker pull docker.io/nginx:latest,
docker pull nginx

// 下载国内镜像源的ubuntu镜像,并指定版本为18.04
docker pull registry.docker-cn.com/library/ubuntu:18.04
  • 推送镜像
// 推送镜像到docker hub, 需要先注册帐号
docker push <你的用户名>/<你打包时定义的镜像名>:<标签,版本号>

// 推送到你的一个私有镜像仓库,需要提前搭建好仓库服务(比如用harbor来搭建)
docker push <私有镜像库域名, 如a.b.com>/<项目名称>/镜像名:<标签>
  • 打包镜像
// 提前准备好一个Dockerfile, 在Dockerfile相同路径下执行:
docker build -t <指定一个完整的镜像名, 比如testsvr:v1.0> .
// 即可打包出一个本地镜像, 然后再通过docker push就可以推送到远端镜像仓库
  • 启动容器
docker run -d    // -d 表示通过daemon方式来启动
-p 13306:3306    // 端口映射,将host主机的13306端口和docker容器的3306端口映射起来
-v /etc/mysql:/var/mysql  // 目录挂载,将容器内的/var/mysql目录挂载到host主机的/etc/mysql目录, 可以实现容器内这个目录下的数据持久化
mysql    
  • 重启或停止或删除容器应用
docker ps     // 列出目前正在运行的容器列表
docker ps -a  // 列出所有的容器列表
docker start <容器id>  // 通过容器id来重启某个容器, 批量操作的话,直接在参数后面再跟对应容器id即可
docker stop <容器id>   // 通过容器id来关闭某个容器, 批量操作的话,直接在参数后面再跟对应容器id即可
docker rm <容器id>     // 通过容器id来删掉某个已经停止掉的容器
docker rm -f <容器id>  // 通过容器id来删掉某个正在运行的容器
  • 删除本地镜像
docker rmi <镜像id>
docker rmi -f <镜像id> // 强制删除
  • 查看容器日志
docker logs -f <容器id>
docker inspect <容器id> // 从返回结果中找到LogPath, 运行的历史日志会在这个文件里找到
  • 进入容器内
docker exec -it <容器id> /bin/bash   // 进入容器内并进入它的shell终端
docker exec -it <容器id> <shell命令>  // 在容器内执行shell命令,比如
docker exec -it <容器id> ls -l /    // 查看容器内系统根目录下所有文件或文件夹
# 进入容器后, 可以直接通过exit命令退出容器
Docker 基本命令
  • docker images :查看已有的 Image 列表
  • docker stop 容器Id:停止存在的容器
  • docker pull hello-world :拉取镜像
    • pull 默认拉取 latest
    • pull : 版本 ,拉取指定版本
  • docker run --name hello-world hello-world :运行
    • –name 给 container 命名
    • -d :后台运行
    • -p 9090:8080:用宿主的 9090,代替 container 里面的 8080端口
    • -e :设置参数,具体看 Image 是怎么说的
    • –privileged :设置一个较高的优先级
    • hello-world 是执行 pull 拉取下来的镜像
  • docker ps :查看正在运行的 container
    • docker ps -a :查看全部
  • docker rmi -f imageName/imageId : 删除 image
    • -f :强制删除
  • docker exec -it 容器 id :进入容器内
    • /bin/bash :进入命令行
  • docker rm -rf $(docker ps -aq) :删除全部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值