docker基础
centos 7.0及以上系统(Docker要求 CentOS系统的内核版本高于 3.10,并为64位系统,推荐centos 7.6)
一、Docker
1、安装Docker:centos7以上使用yum安装(推荐的方式)
yum install -y docker
因为虚拟机已下载镜像,故这里没有截图
2、启动Docker
systemctl start docker
启动后查看状态 docker已开启
3、查看Docker运行状态
systemctl status docker
或者 ps aux|grep docker
4、重启Docker
systemctl restart docker
5、停止Docker
systemctl stop docker
停止后看状态docker已经停止了
6、查看Docker版本信息
docker version
7、设置Liunx系统重启,Docker自动启动
systemctl enable docker
8、下载镜像(docker pull <镜像名称>:<版本> latest最新版本)
docker pull docker.io/tomcat:latest
下载后查看镜像,已下载成功
8、搜索镜像(docker search <镜像名称>)
docker search tomcat
9、查看下载镜像
docker images
REPOSITORY:来自于哪个仓库,比如docker.io/tomcat仓库
TAG:镜像的标签信息(latest表示最新版本)
IMAGE ID :镜像的ID号(唯一)
CREATED:创建时间
SIZE:镜像大小
查看镜像的详细信息
docker inspect 710ec5c56683
因为详细信息过大,通过-f 参数加json格式可以查看对应的相关信息
docker inspect -f {{".DockerVersion"}} 710ec5c56683
10、删除镜像(docker rmi <镜像名称> 或者 docker rmi <镜像ID>)
注意:删除镜像时应先删除镜像内的所有容器
docker rmi 300e315adb2f
删除完后查看,docker.io/centos镜像已删除(如果删除不了采用-f强制删除 docker rmi -f 300e315adb2f)
11、卸载Docker
(1)查询docker安装过的包:
yum list installed | grep docker
(2)删除安装包:
yum remove docker-client.x86_64 docker-common.x86_64 –y
在运行查询Docker安装包脚本验证下是否还有安装包:
yum list installed | grep docker
(3)删除存储目录
rm -rf /var/lib/docker
如果发现删除不掉,需要先 umount:
umount /var/lib/docker/devicemapper
二、容器
1、新建容器
(1)创建不启动
docker create centos:latest
(2)run 创建并启动容器
docker run -p 8081:8080 -d docker.io/tomcat
2、查看容器
(1)查看正在运行的容器
docker ps
第一列为容器id 最后一列为名称
(2)查看所有容器
docker ps -a
(3)查看关闭容器ID
docker ps -a -q
2、启动容器(docker start <容器名称> 或者 docker start < id > )
docker start fervent_austin
3、停止容器(docker stop <容器名称> 或者 docker stop < id > )
docker stop fervent_austin
如果stop命令停止不了,则需要用kill来强制停止:docker kill fervent_austin
4、重启容器(docker restart <容器名称> 或者 docker restart < id > )
docker restart fervent_austin
5、删除容器(docker rm -f <容器名称> 或者 docker rm -f < id >)
可以删除 正在运行的容器或者关闭的容器 ,不加-f则不会删除正在运行的容器
docker rm -f fervent_turing
######
6、连接到正在运行中的容器执行命令(docker exec <容器名称/id> echo “nihao”)
docker exec f07abd0da974 echo "nihao"
docker exec -it distracted_goldberg /bin/bash
退出用exit,或者ctrl+D(exit的快捷键)
三、仓库
创建私有仓库(在一台机器A(192.168.57.128)上)
下载并启动registry容器
docker run -d -p 5000:5000 registry
注意:默认是放在/tmp/registry -v可以将镜像文件放到本地指定路径(docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
)
管理私有仓库镜像(我是采用用另一台机器B(192.168.57.129)测试 ,也可本机测试)
1、查看已有镜像
docker images
2、用TAG命令标记镜像(docker tag 镜像ID或名称 IP地址:端口/标记镜像名称)
注意:标记镜像名称不能含有大写
docker tag docker.io/centos 192.168.57.128:5000/docker.io/centos
tag完后用docker images
查看已成功
3、上传标记的镜像
docker push 192.168.57.128:5000/docker.io/centos
如果出现问题:
Get https://192.168.57.128:5000/v1/_ping: http: server gave HTTP response to HTTPS client
解决办法:
vim /etc/docker/daemon.json
加上以下registry-mirrors后,重启docker即可。
{
"registry-mirrors": ["https://7xdk53kf.mirror.aliyuncs.com"]
}
4、下载仓库的镜像
docker pull 192.168.57.128:5000/docker.io/tomcat
5、查看仓库中存在的镜像
curl -XGET http://192.168.57.128:5000/v2/_catalog