搜索
您的当前位置:首页正文

docker学习随笔

来源:易榕旅网

docker基础知识

dockers详解一docker了解
引用:https://www.cnblogs.com/dwlovelife/p/11482056.html

Docker安装

1、清除旧版本
2、安装相对应的依赖包
$ sudo yum install -y yum-utils
3、使用国内的镜像源安装docker
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装前更新yum软件包索引 yum makecache fast
4、安装最新版本的docker引擎,docker-ce指的是社区版本的
$ sudo yum install docker-ce docker-ce-cli containerd.io
5、启动docker
Systemctl start docker
6、使用docker version判断是否安装成功
7、卸载docker
$ sudo yum remove docker-ce docker-ce-cli containerd.io
$ sudo rm -rf /var/lib/docker
/var/lib/docker  docker的默认工作路径

#阿里云镜像加速
8、配置进行使用
sudo mkdir -p /etc/docker 
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://6xv6627n.mirror.aliyuncs.com"] } EOF 
sudo systemctl daemon-reload 
sudo systemctl restart docker

docker启动时的过程之CMD与ENTRYPOINT
docker run :根据镜像创建一个容器并运行一个命令,操作的对象是 镜像;
docker run -it 镜像 ,当启动容器时候,后面接的命令是在容器起来以后执行的,可以理解为在容器中执行。当加上-it时候,表示前后端交互启动容器,之所以可以进入容器是因为在dockerfile中有命令CMD [‘/bin/bash’],如果没有这个指令的话,在执行docker run -it 镜像时候是无法进入容器的,如果需要进入容器需要加docker run -it 镜像 /bin/bash

Dockerfile文件中:
CMD 指令
CMD 指令的目的是:为容器提供默认的执行命令。
CMD 指令有三种使用方式,其中的一种是为 ENTRYPOINT 提供默认的参数:
CMD [“param1”,“param2”]
另外两种使用方式分别是 exec 模式和 shell 模式:
CMD [“executable”,“param1”,“param2”] // 这是 exec 模式的写法,注意需要使用双引号。
CMD command param1 param2 // 这是 shell 模式的写法。
注意命令行参数可以覆盖 CMD 指令的设置,但是只能是重写,却不能给 CMD 中的命令通过命令行传递参数。
一般的镜像都会提供容器启动时的默认命令,但是有些场景中用户并不想执行默认的命令。用户可以通过命令行参数的方式覆盖 CMD 指令提供的默认命令

ENTRYPOINT 指令
ENTRYPOINT 指令的目的也是为容器指定默认执行的任务。
ENTRYPOINT 指令有两种使用方式,就是我们前面介绍的 exec 模式和 shell 模式:
ENTRYPOINT [“executable”, “param1”, “param2”] // 这是 exec 模式的写法,注意需要使用双引号。
ENTRYPOINT command param1 param2 // 这是 shell 模式的写法。
exec 模式和 shell 模式的基本用法和 CMD 指令是一样的,下面我们介绍一些比较特殊的用法。
指定 ENTRYPOINT 指令为 exec 模式时,命令行上指定的参数会作为参数添加到 ENTRYPOINT 指定命令的参数列表中

CMD 表示在启动容器时候执行的指令,每个dockerfile中只有一个CMD指令,当指定多个CMD,只有最后一个有效。
ENTRYPOINT 也是表示容器在启动时候执行的指令,与CMD不同的是,ENTRYPOINT指令可以拼接docker run启动命令后的指令,而对于CMD是覆盖作用,每个dockerfile中只有一个ENTRYPOINT指令,当指定多个ENTRYPOINT,只有最后一个有效。
当同时定义CMD跟ENTRYPOINT时候,CMD的指定会拼接在ENTRYPOINT后面,如果启动命令docker run后面接指令时候,则此时指令会覆盖CMD指令而拼接在ENTRYPOINT后面继续执行。

docker exec
此命令的功能:在运行的容器中执行命令,操作的对象是 容器。
例如:docker exec -it 运行容器id ps aux,这个命令表示在运行中的容器中执行ps aux命令,可观察此时容器中进程状态

docker history
此命令的功能:docker history命令查看镜像的构建过程,即可以理解为dockerfile的执行过程,帮助我们学习

docker详解二----常用操作命令
https://www.cnblogs.com/dwlovelife/p/11520221.html

docker详解三—网络篇
https:///meltsnow/article/details/94490994

因篇幅问题不能全部显示,请点此查看更多更全内容

Top