Docker-01 20190306
- docker 把运行环境打包成镜像,对运维部署工作减轻了很多工作
- 三大元素
仓库 镜像 容器
仓库中存储着镜像,镜像启动后变成容器 - 安装 centos6系统
#安装之前需要先安装epel 就是类似于依赖
yum install -y epel-release
#正式安装docker-io
yum install -y docker-io
#安装后的配置文件
cd /etc/sysconfig docker
#启动
service docker start
#版本
docker version
docker文件中的other_args参数可以配置仓库地址
3. 安装 centos7系统
https://docs.docker.com/
https://docs.docker.com/install/linux/docker-ce/centos/
(1) 卸载
(2)按照步骤来
#1.
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
#2.
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#3.
sudo yum-config-manager --enable docker-ce-nightly
sudo yum-config-manager --enable docker-ce-test
sudo yum-config-manager --disable docker-ce-nightly
#4.
sudo yum install docker-ce docker-ce-cli containerd.io
#5.
sudo systemctl start docker
#6. 执行后才能用这个
sudo docker run hello-world 如果报错的话 可以先去仓库下载镜像
配置文件:
/etc/docker/daemon.json 可能没有 自己创建
- docker 虚拟机 区别
- 命令
帮助命令:
docker version
docker info
docker --help 万能命令 类似linux的 man命令
镜像命令:
docker images 列出本地主机上的镜像
-a 列出本地所有镜像(含中间映像层)
-q 只显示当前镜像的image_id
-qa 全部镜像的id
–digests 显示镜像的摘要信息
–no-trunc 显示完整的镜像信息 没有截取
docker search xx某个镜像名字 去hub.dockder.com上查找 指定名字的镜像
-s 数字 starts超多指定数字的镜像
–no-trunc
–automated 只列出 automated build类型的镜像
docker pull 某个镜像名字 下载镜像
docker pull 镜像名字:[tag] tag : 标签 /版本 没有tag默认是latest
docker rmi 镜像名字/镜像id:[tag] 删除镜像
-f 强制删除
空格隔开 删除多个
docker rmi -f $(docker images -qa) 全部删除
容器命令:
docker run -options 容器名:[tag]/容器id 启动容器
-i 以交互式 运行容器 通常与-t 同时使用
-t 为容器重新分配一个伪输入终端,输入命令的终端 通常与-i 同时 使用
–name 容器名字 指定容器名字
-d 后台运行 并返回容器id 也就是启动守护式容器
-P 随机端口映射
-p 指定端口映射
四种形式:
ip:hostPort:containerPort
ip::containerPort
hostPort:conainerPort
containerPort
docker ps 默认显示当前正在运行的容器
-l 上一个容器
-a 当前正在运行的 和 曾经运行的容器
-n x 上x次运行的容器
-q 只显示容器编号
exit 关闭容器(前提是在容器的命令行窗口)
ctrl+p+q 这就是先退出 不关闭 等会儿还能进来
docker start 容器id/容器名称 启动关闭的容器
docker restart 容器id/容器名称
docker stop 容器id/容器名称 停止容器
docker kill 容器id/容器名称 强制停止容器
docker rm 容器id/容器名称 删除已经停止的容器
-f 强制删除
一次性删除多个容器
docker -rm -f $(docker ps -a -q )
docker ps -a -q | xargs docker rm
docker run -d 启动容器知识点
这样启动,cnetos就不会关闭,因为这个相当于前台有相应
查看容器日志:
docker logs -f -t --tail 容器id
-t 是加入时间戳
-f 跟随最新的日志打印 不停追加
–tail 数字 显示最后多少条
docker top 容器id 查看容器内运行的进程
docker inspect 容器id 查看容器内部的细节
进入正在运行的容器并以命令行交互
docker exec -it 容器id bashShell(命令 比如: ls -l /tmp ) 这个相当于进去执行把结果输出出来 但是我当前还是在容器外边 不进去
docker exec -it 容器id /bin/bash 等同于下边那句:
docker attach 容器id 重新进入 (ctrl+q+p 退出)
从容器内拷贝文件到主机上:
docker cp 容器id:容器内路径 目标主机路径
docker cp 123:/tmp/test.txt /root/aa/
把容器的test.txt 拷贝到 虚拟机的/root/aa下