Loading

docker 默认镜像修改-Ubuntu

Docker在默认安装之后,通过命令docker pull 拉取镜像时,默认访问docker hub上的镜像,在国内网络环境下,下载时间较久,所以要配置国内镜像仓库。

修改方式如下:

第一步:新建或编辑daemon.json
vi /etc/docker/daemon.json
 
第二步:daemon.json中编辑如下
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
 
第三步:重启docker
systemctl restart docker.service
 
第四步:执行docker info查看是否修改成功
docker info

 

 

1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器  服务
https://cr.console.aliyun.com/
首页点击“创建我的容器镜像”  得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”

 

 

1.配置国内镜像源

Docker在默认安装之后,通过命令docker pull 拉取镜像时,默认访问docker hub上的镜像,在国内网络环境下,下载时间较久,所以要配置国内镜像仓库。

修改方式如下:

  1.  
    第一步:新建或编辑daemon.json
  2.  
    vi /etc/docker/daemon.json
  3.  
     
  4.  
    第二步:daemon.json中编辑如下
  5.  
    {
  6.  
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
  7.  
    }
  8.  
     
  9.  
    第三步:重启docker
  10.  
    systemctl restart docker.service
  11.  
     
  12.  
    第四步:执行docker info查看是否修改成功
  13.  
    docker info

国内的加速地址如下:

  1.  
    1.网易
  2.  
    http://hub-mirror.c.163.com
  3.  
    2.Docker中国区官方镜像
  4.  
    https://registry.docker-cn.com
  5.  
    3.中国科技大学
  6.  
    https://docker.mirrors.ustc.edu.cn
  7.  
    4.阿里云容器 服务
  8.  
    https://cr.console.aliyun.com/
  9.  
    首页点击“创建我的容器镜像” 得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”

 

2.常用命令

2.1帮助命令

  • docker version:显示Docker的版本信息;
  • docker info:显示Docker系统信息,包括镜像和容器数;
  • docker --help:帮助命令

2.2镜像命令

2.2.1本地镜像管理

  • docker images:列出本地镜像
  1.  
    docker images [参数]
  2.  
    参数说明:
  3.  
    -a:列出本地所有镜像(含中间映像层)
  4.  
    -q:只显示镜像ID
  • docker rmi:删除本地镜像
  1.  
    docker rmi [参数] [镜像名或镜像名列表]
  2.  
    参数说明:
  3.  
    -f:强制删除
  4.  
    举例:
  5.  
    docker rmi -f tomcat hello-world(删除tomcat和hello-world,不带TAG默认为latest)
  6.  
    docker rmi -f $(docker images -qa) 删除所有镜像

2.2.2远程仓库

  • docker search:从Docker Hub查找镜像
  1.  
    docker search [参数] 镜像名
  2.  
    参数说明:
  3.  
    -s:列出收藏数不小于指定值的镜像;
  4.  
    --automated:只列出automated build类型的镜像。
  5.  
    举例:
  6.  
    docker search -s 10 nginx
  • docker pull:从镜像仓库拉取或更新指定镜像
  1.  
    docker pull [参数] 镜像名[:TAG]
  2.  
    参数说明:
  3.  
    -a:拉取所有镜像
  4.  
    举例:
  5.  
    docker pull nginx
  6.  
    docker pull -a nginx (从Docker Hub下载REPOSITORY为nginx的所有镜像)
  • 上传镜像

将本地镜像上传到阿里云为例。

  1.  
    1.配置阿里云的镜像加速器,前面已介绍;
  2.  
     
  3.  
    2.命令行登录到阿里云的doker仓库,--username为阿里云的用户名
  4.  
    docker login --username=houpengkun registry.cn-hangzhou.aliyuncs.com
  5.  
     
  6.  
    3.为本地镜像添加tag,houpk为命名空间
  7.  
    docker tag f4ec85e8298f registry.cn-hangzhou.aliyuncs.com/houpk/mynginx:0.1
  8.  
     
  9.  
    4.push到docker仓库
  10.  
    docker push registry.cn-hangzhou.aliyuncs.com/houpk/mynginx:0.1
  11.  
     
  12.  
    5.登录阿里云查看已上传的镜像列表:https://cr.console.aliyun.com/#/imageList

2.2.3容器操作命令

  • docker ps:列出正在运行的容器
  1.  
    docker ps [参数]
  2.  
    参数说明:
  3.  
    -a:显示所有容器,包括未运行的
  4.  
    -q:只显示容器编号
  • docker run :创建一个新的容器并运行一个命令
  1.  
    docker run [参数] 镜像名/ID [命令] [命令参数...]
  2.  
    参数说明:
  3.  
    -i:以交互模式运行容器,通常与 -t 同时使用;
  4.  
    -t:为容器重新分配一个伪输入终端;
  5.  
    --name="my":为容器指定一个名称;
  6.  
    -p:指定端口映射,格式为:主机(宿主)端口:容器端口;
  7.  
    -P:随机端口映射,容器内部端口随机映射到主机的高端口;
  8.  
    -d:后台运行容器;
  9.  
    举例:
  10.  
    docker run -it nginx:latest /bin/bash
  11.  
    docker run -p 8080:8080 tomcat
  • 退出容器(以it的方式运行)
  1.  
    方式一:exit
  2.  
    退出docker,同时docker容器停止运行;
  3.  
    方式二:ctrl+p+q
  4.  
    退出docker,docker容器继续运行。
  • docker start/stop/restart
  1.  
    docker start 容器ID [容器ID...] : 启动容器
  2.  
    docker stop 容器ID [容器ID...] : 停止容器
  3.  
    docker restart 容器ID [容器ID...] : 重启容器
  4.  
    以上操作都要建立在容器已经创建的基础上,也就是执行了docker run命令
  • docker exec:在运行的容器中执行命令
  1.  
    docker exec [参数] 容器id 命令 [命令参数...]
  2.  
    参数说明:
  3.  
    -d:在后台运行;
  4.  
    -i:交互式;
  5.  
    -t:分配终端;
  6.  
    举例:
  7.  
    docker exec -it mynginx /bin/bash
  • docker kill :杀掉一个运行中的容器
  1.  
    docker kill [参数] 容器 [容器...]
  2.  
    参数说明:
  3.  
    -s:向容器发送一个信号
  4.  
    举例:
  5.  
    docker kill -s KILL mynginx
  • docker rm:删除容器
  1.  
    docker rm [参数] 容器 [容器...]
  2.  
    参数说明:
  3.  
    -f:强制删除
  4.  
    举例:
  5.  
    docker rm -f mynginx
  6.  
    docker rm $(docker ps -aq)
  • docker logs:获取容器的日志
  1.  
    docker logs [参数] 容器
  2.  
    参数说明:
  3.  
    -t:显示时间戳;
  4.  
    -f:跟踪日志输出;
  5.  
    --tail:仅列出最新N条容器日志
  6.  
    举例:
  7.  
    跟踪查看容器mynginx的日志输出
  8.  
    docker logs -f mynginx
  9.  
    查看容器mynginx从2016年7月1日后的最新10条日志
  10.  
    docker logs --since="2016-07-01" --tail=10 mynginx
  • docker top :查看容器中运行的进程信息
  1.  
    docker top 镜像
  2.  
    举例:
  3.  
    docker top mynginx
  • docker cp :用于容器与主机之间的数据拷贝
  1.  
    将文件从容器拷贝到宿主机
  2.  
    docker cp 容器:源路径 目标路径
  3.  
     
  4.  
    将文件从宿主机拷贝到容器
  5.  
    docker cp 源路径 容器:目标路径
  6.  
     
  7.  
    举例:
  8.  
    将主机/usr/abc目录拷贝到容器96f7f14e99ab的/hou目录下
  9.  
    docker cp /usr/abc 96f7f14e99ab:/hou/
  10.  
     
  11.  
    将主机/usr/abc目录拷贝到容器96f7f14e99ab中,重命名为hou
  12.  
    docker cp /usr/abc 96f7f14e99ab:/hou
  13.  
     
  14.  
    将容器96f7f14e99ab的/abc目录拷贝到主机的/tmp目录中
  15.  
    docker cp 96f7f14e99ab:/abc /tmp/
  16.  
     
  • docker commit :从容器创建一个新的镜像
  1.  
    docker commit [参数] 容器 [镜像[:TAG]]
  2.  
    参数说明:
  3.  
    -a:镜像作者;
  4.  
    -c:使用Dockerfile指令来创建镜像;
  5.  
    -m:提交时的说明文字;
  6.  
    举例:
  7.  
    docker commit -a "houpk" -m "create mynginx" a404c6c174a2 mynginx:v1
  8.  
    运行docker images可以查看创建的镜像。
posted @ 2020-12-24 18:18  KairusZhang  阅读(1623)  评论(0编辑  收藏  举报