1.安装
yum install -y epel-release
yum install -y docker-io
突然报错boot 内存不够,去/boot删除一些文件
启动
service docker start
docker version 如下图,说明安装成功
配置阿里云镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://7167e67h.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
运行helloword
docker run hello-world
帮助命令
docker info
docker --help
docker images 列出所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 12 months ago 13.3 kB
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
docker images后边可以跟参数,如下
-a :列出本地所有的镜像(含中间映像层)
-q :只显示镜像ID。
--digests :显示镜像的摘要信息
--no-trunc :显示完整的镜像信息
docker search [OPTIONS] 镜像名字 去docker hub 上找资源
docker search -s 30 tomcat 点赞数超过30 的
删除镜像
docker rmi (名称,默认最新) 或者ID
删除多个时空格隔开
也是使用组合命令
docker rmi -f $(docker images -qa) 删除查询出来的所有
容器操作命令
下载一个centos
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker run -it centos 交互式进入centos
docker ps 当前正在运行的容器
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。
退出容器
彻底退出 exit
退出,但不关闭 ctrl+P+Q
启动停止容器
docker start bd9c9f846017
docker stop bd9c9f846017
docker restart bd9c9f846017
docker kill bd9c9f846017
删除容器
docker rm -f $(docker ps -a -q)
使用镜像centos:latest以后台模式启动一个容器
docker run -d centos (因为没有前台进程,所以一启动就会关闭)
docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done" (创建一个无限循环)
docker日志打印
docker logs -f -t --tail 容器ID
* -t 是加入时间戳
* -f 跟随最新的日志打印
* --tail 数字 显示最后多少条
查看容器内运行的进程
docker top 容器ID 很多linux的命令都可以复用
查看容器内部细节
docker inspect 容器ID
重新进入已经退出的容器
1.docker attach 容器ID 直接进入容器启动命令的终端,不会启动新的进程
2.docker exec -it 容器ID /bin/bash 是在容器中打开新的终端,并且可以启动新的进程
将容器中的文件拷贝到宿主机
docker cp 容器ID:容器内路径 目的主机路径 *别忘了冒号
运行docker 中的tomcat
docker run -it -p 8088:8080 tomcat (8088docker对外暴露端口,8080为tomcat端口 )
docker run -p 6606:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker run -p 6607:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-p 主机端口:docker容器端口
docker run -it -P tomcat
-P 随机分配端口
docker创建自己的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[版本号]
docker commit -a ="anpx" -m ="my first commit" 91dc0b0a576a anpx/mytmcat