Docker常用命令

Catalogue
  1. 0. Docker认识
  2. 1. 镜像加速
    1. 1.1 配置镜像加速器
  3. 2. nvidia-docker
  4. 3. Docker常用操作命令
  5. 4. Docker 容器自定义 hosts 网络访问
  6. 5. Docker镜像管理
  7. 6. 宿主机和容器文件copy

Deepin下安装Docker

阿里云.来自云端的容器镜像服务

0. Docker认识

  • 容器级别的虚拟化、不是基于硬件虚拟化.
  • 和宿主机共享操作系统内核和资源
  • 轻量
  • 方便的构建&部署应用程序
  • 采用虚拟化控制

1. 镜像加速

1.1 配置镜像加速器

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tabss8zh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

记得重启docker.

资料:Docker镜像加速:阿里云

2. nvidia-docker

todo 其他配置信息.

1
2
3
4
5
6
7
8
9
10
# nvidia-docker增加runtimes信息如下:
{
"registry-mirrors": ["https://tabss8zh.mirror.aliyuncs.com"],
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}

3. Docker常用操作命令

  • 查看日志
    1
    2
    3
    4
    5
    6
    docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1
    --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
    -f : 查看实时日志
    -t : 查看日志产生的日期
    -tail=10 : 查看最后的10条日志。
    edu_web_1 : 容器名称

4. Docker 容器自定义 hosts 网络访问

Docker自定义hosts网络访问

需求:使用自己的域名服务。

在很多应用环境中都会有其他服务器的访问需求。直接使用ip不便于修改。因此搭建自己的域名服务,之后配置docker环境使用此域名服务即可。也可同时使用其它域名服务。

1
2
3
4
5
(1)resolv-file=/etc/resolv.conf
(2)strict-order
(3)listen-address=192.168.0.127,127.0.0.1
(4)addn-hosts=/etc/hosts //这歌地址指向的是你mac的hosts地址,你只需在里边做相应的 host
(5)cache-size=2048

5. Docker镜像管理

  • 搭建Docker私有仓库
  • 更改Docker环境的配置指向私有仓库
  • 向私有仓库提交镜像
  • 从另外的docker环境获取上述镜像

Docker的镜像归纳为两种

  • 需要知道docker容器的地址的
    类似zk这种组件的
  • 不需要知道docker容器地址
    类似应用程序
    通过注册服务到zk,然后自动发现服务。
  • docker查看运行容器ip
    1
    docker inspect 容器ID | grep IPAddress

6. 宿主机和容器文件copy

docker cp dea2fb66819e:/PaddleOCR/deploy/hubserving/ocr_system/params.py .

docker cp params.py dea2fb66819e:/PaddleOCR/deploy/hubserving/ocr_system/params.py