咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
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可以查看创建的镜像。