容器相关操作

常规

  1. start / stop / restart
  2. run -i/t/d
  3. # 交互/终端/后台

进入容器操作

  1. docker exec -it 243c32535da7 /bin/bash

查看容器状态

  1. docker exec tomcat001(容器名) hostname
  2. docker inspect -f {{.NetworkSettings.IPAddress(类似json)}} tomcat001(容器名) -- 常用

删除容器

  1. docker rm -f 1e560fca3906
  2. # rmi是删除镜像
  3. docker container prune
  4. # 删除所有终止状态容器

复制容器

  1. docker export name/id > xxx.tar
  2. docker import xxx.tar 新容器:v1
  3. docker run -it 新容器:v1

查看日志

  1. docker logs -f bf08b7f2cd89
  2. # -f: 像使用 tail -f 一样来输出容器内部的标准输出。

查看进程

  1. docker top bf08b7f2cd89

修改容器挂载目录

方式一:修改配置文件 (config.v2.json)(需停止docker服务)

1、停止docker服务
  1. systemctl stop docker.service(关键,修改之前必须停止docker服务)

2、vim /var/lib/docker/containers/container-ID/config.v2.json

修改配置文件中的目录位置,然后保存退出

  1. "MountPoints":{"/home":{"Source":"/docker","Destination":"/home","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"//docker/","Target":"/home"}}}

3、启动docker服务
  1. systemctl start docker.service

4、启动docker容器
  1. docker start <container-name/ID>

镜像相关操作

更新镜像

更新镜像之前,我们需要run基础镜像来创建一个容器

  1. docker run -t -i ubuntu:15.10 /bin/bash
  2. # bash内部执行自己的操作 >>> exit shell然后执行以下commit命令
  3. docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
  4. # -m: 提交的描述信息 -a: 指定镜像作者 e218edb10161:容器 ID:runoob/ubuntu:v2: 指定要创建的目标镜像名

构建镜像

  1. docker build -t runoob/centos(镜像名):6.7(镜像标签) .(上下文路径,此目录放Dockerfile与必要文件,像pyinstaller )

设置镜像标签

  1. docker tag 860c279d2fec runoob/centos:dev

Docker权限

加入docker用户组

  1. sudo groupadd docker #添加docker用户组
  2. sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
  3. newgrp docker #更新用户组
  4. docker ps #测试docker命令是否可以使用sudo正常使用