docker 基本使用技巧

docker

docker 是一种容器,可以将应用进行打包,然后可以发布到任何装有docker环境的系统中,从而实现不依赖系统的镜像文件。

docker使用的是虚拟化技术,所有的镜像都运行在沙盒环境,彼此隔离,不会影响彼此。

docker 组添加成员

我们一般使用的是非root用户,每次执行docker都需要sudo,解决办法是将当前用户添加到docker组中

sudo usermod -aG docker dreamlfy

上面的命令就将用户dreamfly添加到了docker组中,dreamfly就可以直接使用docker命令

docker 镜像

docker是通过一个个镜像来实现各个功能的,我们一般使用docker search xxx来搜索可用的镜像,但是由于国内的网络问题,我们一般需要先配置下国内docker镜像仓库地址。

  • 镜像加速 网易:https://hub-mirror.c.163.com/ 阿里云:https://<你的ID>.mirror.aliyuncs.com 七牛云加速器:https://reg-mirror.qiniu.com 阿里云的镜像地址需要登陆阿里云后台,访问网址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 来查看。

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

然后执行命令

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  • 镜像拉取 通过search查找到具体的镜像之后,可以拉取镜像

    docker pull ubuntu
  • 镜像运行

    docker run -it ubuntu /bin/bash

    i = interactive交互 t = terminal 终端 d = dameon 守护,后台运行的意思

  • 查看镜像运行状态

    docker ps -a
  • 运行停止的镜像

    docker start xxx(镜像id,可以短id)
  • 停止镜像

    docker stop xxx(镜像id,可以短id)
  • 导出镜像

    docker export xxx > ubuntu.tar
  • 导入镜像

cat ubuntu.tar | docker import - test/ubuntu:v1
  • 删除镜像

    docker rm -f xxx(镜像短id)
  • 运行一个web镜像

docker pull training/webapp # 载入镜像 docker run -d -p 5000:5000 training/webapp python app.py

- 查看镜像运行日志
```shell
docker logs -f bf08b7f2cd89