docker是什么
Docker是基于Go语言实现的开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的软件(或者WEB应用等)及其运行环境能够做到“一次镜像,处处运行”。
docker安装
设置存储库
安装yum-utils软件包(提供yum-config-manager实用程序)并设置存储库。
Plaintext |
安装Docker引擎
- 安装最新版本的Docker Engine、containd和Docker Compose,或转到下一步安装特定版本:
|
- 如果系统提示接受GPG密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配,请接受。
- 此命令安装Docker,但它不会启动Docker。它还创建一个docker组,但是,默认情况下,它不会向组添加任何用户。
启动Docker
|
通过运行hello-world映像来验证Docker引擎是否正确安装。
|
此命令下载测试映像并在容器中运行。当容器运行时,它会打印消息并退出。
This installs and runs Docker Engine. Use sudo to run Docker commands. Continue to Linux postinstall to allow non-privileged users to run Docker commands and for other optional configuration steps.
Docker的卸载
|
卸载工作
|
Docker Swarm集群搭建
现在将node1节点设成manager节点,node2设成work节点;
将docker节点切换成Swarm模式
|
- 命令解读:
docker swarm init 会通知 Docker 来初始化一个新的 Swarm,并将自身设置为第一个管理节点。同时也会使该节点开启 Swarm 模式。
--advertise-addr 指定其他节点用来连接到当前管理节点的 IP 和端口。这一属性是可选的,当节点上有多个 IP 时,可以用于指定使用哪个IP。此外,还可以用于指定一个节点上没有的 IP,比如一个负载均衡的 IP。
--listen-addr 指定用于承载 Swarm 流量的 IP 和端口。其设置通常与 --advertise-addr 相匹配,但是当节点上有多个IP 的时候,可用于指定具体某个 IP。并且,如果 --advertise-addr 设置了一个远程 IP 地址(如负载均衡的IP地址),该属性也是需要设置的。建议执行命令时总是使用这两个属性来指定具体 IP 和端口。
- 然后可以node1上执行docker swarm join-token
docker swarm join-token
|
- 使用worker的swarm命令和Token将node2节点加入swarm作为worker节点
|
- 通过docker node ls
|
在docker启动mysql
- 首先从docker的git库中下载安装mysql的镜像,可以自选版本Docker 。
|
- 查看本地镜像
|
- 运行容器
|
- 连接mysql
|
常用命令
Docker run命令
常用参数:
- -d:后台运行容器,并返回容器ID
不加这一个默认直接进入容器,之后如果退出则会连着容器一起挂起(暂停运行)。 |
- -i:以交互模式运行容器,通常与-t同时使用;
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
同时使用it之后,你就可以进入到这个容器里面,就像在一台新的Linux主机中了 |
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
- --name="nginx-lb": 为容器指定一个名称;
- -m :设置容器使用内存最大值;
- -e username="ritchie": 设置环境变量;
- --volume , -v: 绑定一个卷
格式为主机目录:容器目录,这条命令也是非常有用的,如果不绑定目录,那么在删除容器的时候,里面的所有数据也一起删除了。但如果使用了挂载卷的话,直接存在宿主机对应文件夹中,下次开启容器还能直接使用。通常用于存一些配置文件、数据什么的。 |
- --restart 用于指定容器重启的策略,策略有以下几种:
- no 默认值,表示容器退出时,docker不自动重启容器
docker run --restart=no [容器名]
- on-failure 若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃
docker run --restart=on-failure:3 [容器名]
- always 容器退出时总是重启
docker run --restart=always [容器名]
- unless-stopped 容器退出时总是重启,但不考虑Docker守护进程启动时就已经停止的容器
docker run --restart=unless-stopped [容器名]
- 如果容器启动时没有设置–restart参数,则通过下面命令进行更新:
docker update --restart=always [容器名]
例如:
|
删除images
|
删除container命令
|