Dcoker
- Docker是一个开源的应用容器引擎,是一个轻量级别的容器技术
- Dcoker支持将软件编译成一个镜像;然后在镜像中对各种软件做好配置,再将镜像发布出去,供别人使用
- 运行中的镜像称为容器,容器的启动是非常快速的
核心概念
- docker主机(Host):安装了Docker程序的机器,Docker直接运行在系统的内核上
- docker客户端(Client):链接docker主机进行操作
- docker仓库(Registry):用来保存各种打包好的软件镜像
- docker镜像(Images):软件打包好的镜像;放在docker仓库中
- docker容器(Container):镜像启动后的一个实例称为一个容器;容器是独立运行的一个或者一组应用
操作Docker的步骤
- 根据安装Docker的操作系统和内核不同,具体的操作命令可以参考官网
- 安装Docker
yum install docker
- 查看Docker的版本
docker -v
- 查看Docker的状态
service docker status
- 启动Docker
service docker start
- 停止Dcoker
service docker stop
- 设置Docker开机自启动(最新版的命令,Docker CE开源版)
systemctl enable docker
Docker常用命令
镜像操作
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
修改镜像源
新建/etc/docker/daemon.json文件,在其中新增如下的内容;新版本不存在这个文件,需要新建
vim /etc/docker/daemon.json# 内容:{
"registry-mirrors":["我们的镜像源地址"]
}
国内镜像源一般可以使用阿里和有道
容器操作(Tomcat)
- 查询镜像 docker search tomcat
-
下载镜像 docker pull tomcat 如果不指代版本,默认下载最新版,我们可以上网站httpps://hub.docker.com/网站查找版本号
-
根据镜像启动容器,不加TAG默认就是latest,如果没有下载就会先先下载再启动
docker run --name mytomcat -d tomcat:latest --name :给容器起一个名字 -d:后台启动,不加就是前台启动
- 查看运行中的容器
docker ps
- 停止运行中的容器
docker stop 容器的id# 或者docker stop 容器的名称,就是使用--name起的名字
- 查看所有的所有的容器
docker start 容器id/名字
- 启动容器
docker start 容器id/名字
- 删除一个容器
docker rm 容器id/名字
- 启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat -d:后台运行 -P:将主机的端口映射到外部,从而可以调用 主机端口(8888):容器内部的端口(8080) 外界通过主机的8888端口就可以访问到tomcat,前提是8888端口访问
- 关闭防火墙
# 查看防火墙状态 service firewalld status# 关闭防火墙 service firewalld stop
- 查看容器日志
docker logs 容器id/名字
容器操作(Mysql)
注意事项(如果使用本地安装,如果安装在虚拟机或者是服务器上,host会变)
- host: 127.0.0.1 (可以换成IP地址,但是如果是本地,也不要选localhost)
- port: 3306
- user: root
- password: 123456
-
# 拉取镜像 docker pull mysql:5.7# 运行mysql容器docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7# --name mysql:容器的名字是mysql # MYSQL_ROOT_PASSWORD:指定以root为账号的密码是123456
- 连接容器内的mysql
docker exec -it mysql bash#当后台启动容器,如果想进入容器,使用如下命令 #docker attach #docker exec 推荐使用;因为此推出容器终端,不会导致容器的停止-i:交互式操作 -t:终端 mysql:名字为mysql的镜像 bash:放在镜像名字后面是命令;启动交互式shell,因此使用bash;也可以使用/bin/bash
- 直接使用端口映射更加方便
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28
参考链接