docker安装与学习

安装阿里提供的docker-ce镜像
首选将本地centos换yum为阿里系

阿里云国内镜像:http://mirrors.aliyun.com/repo/

第一步:备份你的原镜像文件,以免出错后可以恢复。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

第三步:运行yum makecache生成缓存

yum clean all
yum makecache	

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

**

以上转载于阿里云官方文档

以下是看视频自己总结的一些小东西
**
docker 三要素
仓库 镜像 容器

docker images 查看本机有哪些镜像
docker search [name]查看仓库有哪些镜像
docker pull [name]下载镜像
docker rmi 删除容器

新建启动容器

docke run 
--name=‘容器的名字’
-d:后台运行
-i:已交互模式运行容器
-t:为容器重新分配一个输入终端
-P:随机影射端口
-p:指定端口映射:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort

docker run -it --name Tcentos centos/镜像id

显示正运行的容器

docker ps

-a 历史上运行所有容器
-l 上一个容器
-n nub 上几次运行的
-q 显示容器的编号

退出容器

exit(退出停止)
ctrl+P+Q(退出不停止)

进入容器

docker attach ID/name
docker exec ID/name

重启

 docker restart id/name  

停止

 docker stop id/name 
 docker kill id/name(强制)

删除容器

 docker rm -f id/name
 删除所用容器
 docker rm -f $(docker ps -a -q)

docker run -d centos
使用ps查看会发现容器退出
说明docker容器后台运n行,就必须有一个前台进程

查看日志

docker logs -f -t --tail
查看容器内的进程
docker top name/id

查看容器内部细节
docker inspect 容器ID

进入容器

docker attach 直接新的进程进入容器启动命令的终端,不会启动
docker exec 是在容器中打开新的终端,并且可以启动新的现场
docker exec -t id/name 命令(ls -l /tmp)

容器内数据考出来

docker cp id/name:/dir...  /本机的路径

docker 镜像
UnionFS
docker镜像加载原理
分层的镜像

复制东西到容器里面
docker cp 路径 容器的id

修改容器后提交
docker commit -a=‘name’ -m=‘提交的类型’ 容器的id 提交容器的名字 :版本

docker容器数据卷
容器数据卷是:当docker 容器产生的数据,如果不通过commit生成信的镜像,使得数据最为镜像的一部分保存下来。当容器删除后,数据自然就没有了,为了能保存数据在docker中我们使用数据卷
可以做:容器的持久化,容器间继承+数据共享
特点:
数据卷可以在容器之间共享或重用数据
卷中的更改可以直接生效
数据卷中的更改不会包含在镜像更新中
数据卷的生命周期一直持续到没有容器使用它为止

dockerfile体系结构
from
继承的镜像

MAINTAINER
镜像维护者的姓名和邮箱

run
容器构建时需要的命令

expose
当前容器对外暴露出去的端口

workdir
指定在创建容器后,终端默认登录的进来工作目录
env变量设置环境
构建镜像过程中

add
将主机目录下的文件拷贝进镜像,ADD命令会自动解压添加
copy

volume
容器数据卷,用于数据保存和持久话工作

cmd
指定一个容器启动时要运行的命令
可以有多个,生效最后一个

entrypoint
指定一个容器启动时要运行的命令

onbuild
当构建一个被继承的dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发

尝试写一个东西
#volume test
FROM centos
VOLUME ["/ccvv","/vvvv1"]
CMD echo “finished,----------------sueccess1”
CMD /bin/bash
~

发布了5 篇原创文章 · 获赞 2 · 访问量 703

猜你喜欢

转载自blog.csdn.net/a1240948329/article/details/104960072