帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Docker配置国内镜像源及docker常用命令

Docker配置国内镜像源及docker常用命令

2023-12-22 14:39:19 2517

Docker配置国内镜像源及docker常用命令

 

1.配置国内镜像源

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

修改方式如下:

第一步:新建或编辑daemon.json

vi /etc/docker/daemon.json

第二步:daemon.json中编辑如下

{

    "registry-mirrors": ["https://www.landui.com"]

}

第三步:重启docker

systemctl restart docker

第四步:执行docker info查看是否修改成功

docker info

国内的加速地址如下:

网易

http://www.landui.com

Docker中国区官方镜像

https://www.landui.com

中国科技大学

https://www.landui.com

阿里云容器服务

https://www.landui.com/

2.常用命令

2.1帮助命令

docker version:显示Docker的版本信息;

docker info:显示Docker系统信息,包括镜像和容器数;

docker --help:帮助命令

 

2.2镜像命令

2.2.1本地镜像管理

docker images:列出本地镜像

docker images [参数]

  参数说明:

      -a:列出本地所有镜像(含中间映像层)

      -q:只显示镜像ID

docker rmi:删除本地镜像

docker rmi [参数] [镜像名或镜像名列表]

  参数说明:

      -f:强制删除

举例:

docker rmi -f tomcat hello-world(删除tomcat和hello-world,不带TAG默认为latest)

docker rmi -f $(docker images -qa) 删除所有镜像

2.2.2远程仓库

docker search:从Docker Hub查找镜像

docker search [参数] 镜像名

   参数说明:

     -s:列出收藏数不小于指定值的镜像;

     --automated:只列出automated build类型的镜像。

举例:

docker search -s 10 nginx

docker pull:从镜像仓库拉取或更新指定镜像

docker pull [参数] 镜像名[:TAG]

  参数说明:

      -a:拉取所有镜像

举例:

docker pull nginx

docker pull -a nginx (从Docker Hub下载REPOSITORY为nginx的所有镜像)

上传镜像

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

1.配置阿里云的镜像加速器,前面已介绍;

2.命令行登录到阿里云的doker仓库,--username为阿里云的用户名

docker login --username=lanan777 registry.cn-hangzhou.aliyuncs.com

3.为本地镜像添加tag,lanan777为命名空间

docker tag f4ec85e8298f registry.cn-hangzhou.aliyuncs.com/lanan777/mynginx:0.1

4).push到docker仓库

docker push registry.cn-hangzhou.aliyuncs.com/lanan777/mynginx:0.1

5).登录阿里云查看已上传的镜像列表:https://www.landui.com/#/imageList

2.2.3容器操作命令

docker ps:列出正在运行的容器

docker ps [参数]

  参数说明:

      -a:显示所有容器,包括未运行的

      -q:只显示容器编号

docker run :创建一个新的容器并运行一个命令

docker run [参数] 镜像名/ID [命令] [命令参数...]

  参数说明:

    -i:以交互模式运行容器,通常与 -t 同时使用;

    -t:为容器重新分配一个伪输入终端;

    --name="my":为容器指定一个名称;

    -p:指定端口映射,格式为:主机(宿主)端口:容器端口;

    -P:随机端口映射,容器内部端口随机映射到主机的高端口;

    -d:后台运行容器;

举例:

docker run -it nginx:latest / bin/ bash

docker run -p 8080:8080 tomcat

退出容器(以it的方式运行)

方式一:exit

退出docker,同时docker容器停止运行;

方式二:ctrl+p+q

退出docker,docker容器继续运行。

docker start/stop/restart

docker start 容器ID [容器ID...]  :  启动容器

docker stop 容器ID [容器ID...]   :  停止容器

docker restart 容器ID [容器ID...]  :  重启容器

以上操作都要建立在容器已经创建的基础上,也就是执行了docker run命令

docker exec:在运行的容器中执行命令

docker exec [参数] 容器id 命令 [命令参数...]

  参数说明:

      -d:在后台运行;

      -i:交互式;

      -t:分配终端;

举例:

docker exec -it mynginx / bin/ bash

docker kill :杀掉一个运行中的容器

docker kill [参数] 容器 [容器...]

  参数说明:

      -s:向容器发送一个信号

举例:

docker kill -s KILL mynginx

docker rm:删除容器

docker rm [参数] 容器 [容器...]

  参数说明:

    -f:强制删除

举例:

docker rm -f mynginx

docker rm $(docker ps -aq)

docker logs:获取容器的日志

docker logs [参数] 容器

  参数说明:

    -t:显示时间戳;

    -f:跟踪日志输出;

    --tail:仅列出最新N条容器日志

举例:

跟踪查看容器mynginx的日志输出

docker logs -f mynginx

查看容器mynginx从2016年7月1日后的最新10条日志

docker logs --since="2016-07-01" --tail=10 mynginx

docker top :查看容器中运行的进程信息

docker top 镜像

举例:

docker top mynginx

docker cp :用于容器与主机之间的数据拷贝

将文件从容器拷贝到宿主机

docker cp 容器:源路径 目标路径

将文件从宿主机拷贝到容器

docker cp 源路径 容器:目标路径

举例:

将主机/usr/abc目录拷贝到容器96f7f14e99ab的/hou目录下

docker cp /usr/abc 96f7f14e99ab:/hou/

将主机/usr/abc目录拷贝到容器96f7f14e99ab中,重命名为hou

docker cp /usr/abc 96f7f14e99ab:/hou

将容器96f7f14e99ab的/abc目录拷贝到主机的/tmp目录中

docker cp  96f7f14e99ab:/abc /tmp/

docker commit :从容器创建一个新的镜像

docker commit [参数] 容器 [镜像[:TAG]]

  参数说明:

    -a:镜像作者;

    -c:使用Dockerfile指令来创建镜像;

    -m:提交时的说明文字;

举例:

docker commit -a "lanan777" -m "create mynginx" a404c6c174a2  mynginx:v1

运行docker images可以查看创建的镜像。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: