目录
-
docker简介
支持将软件编辑成一个镜像,然后在镜像中各种软件做好配置,运行中的这个镜像成为容器。类似于Windows的ghost操作系统,安装好什么都有了。
-
docker核心概念
docker主机(Host):安装docker程序的机器,docker直接安装在操作系统之上;
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(images):软件打包好的镜像,放在docker仓库中;
docker容器(Container):镜像启动后的实例成为一个容器,是独立运行的一个或者一组应用。
-
docker使用步骤
1.安装docker;2.去docker仓库找到这个软件对应的镜像;3.使用docker运行这个镜像,这个镜像就会生成一个docker容器;4.对容器的启动停止就是对软件的启动停止。
-
安装docker
1.安装Linux虚拟机
-
vmware 或者 VirtualBox(轻量级)
安装VirtualBox后,可能存在与win10不兼容情况,在官网下载最新版本即可。
-
导入虚拟机文件centos7-atguigu.ova,设置网络连接方式(图片是无线网连接情况),设置好重启虚拟机网络;
service network restart
![](https://i-blog.csdnimg.cn/blog_migrate/8bd4f797c09f8a75ea20f255fc00ae9f.png)
-
·双击启动linux虚拟机 root :123456
-
客户端连接虚拟机:
查看虚拟机ip(ip addr),在xshell中连接。
2.在linux上安装docker
-
内核版本要求在3.10及以上,命令 uname -r 查看
![](https://i-blog.csdnimg.cn/blog_migrate/d07c88e08b641feb8a56ac3fd7af7a86.png)
-
安装docker
yum install docker
选择y,进行进一步安装,安装结束会出现complete。
![](https://i-blog.csdnimg.cn/blog_migrate/65c4a98020c06ec406d1930f0d218f97.png)
-
启动docker
systemctl start docker
如果启动过程报错
Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.
解决
:执行 vi /etc/sysconfig/selinux , 把 selinux 属性值改为disabled。然后重启系统,docker就可以启动啦。。。
![](https://i-blog.csdnimg.cn/blog_migrate/9dadb2626d5d9e0d75df5e905a9e4b25.png)
-
查看docker版本情况,存在Client和server即成功
docker version
![](https://i-blog.csdnimg.cn/blog_migrate/03e9e7b9171b688df411a120ed470c24.png)
-
开机启动docker
systemctl enable docker
-
停止docker
systemctl stop docker
3.镜像操作
查看docker中mysql镜像docker search mysql
![](https://i-blog.csdnimg.cn/blog_migrate/d25f922cf07a0dc15cdeb9063f71da37.png)
操 作
|
命令
|
说明
|
检索
|
docker search
关键字 eg:docker search redis
作
|
我们经常去
docker hub
上检索镜像的详细信息,如镜像的
TAG
。
|
拉取
|
docker pull
镜像名
:tag
|
:tag
是可选的,
tag
表示标签,多为软件的版本,默认是
latest
|
列表
|
docker images
|
查看所有本地镜像
|
删除
|
docker rmi image-id
|
删除指定的本地镜像
|
删除(所有镜像)
|
docker rmi $(docker images -q)
|
删除所有镜像(非运行中的容器),不删除容器
|
![](https://i-blog.csdnimg.cn/blog_migrate/8581ce887ae6538b9c0d93e553877225.png)
删除镜像
![](https://i-blog.csdnimg.cn/blog_migrate/01a524a9da2ba7e74a451b45e6ac4793.png)
4.容器操作
搜索镜像:docker search tomcat下载拉取镜像:docker pull tomcat
![](https://i-blog.csdnimg.cn/blog_migrate/f6302327641d44cd2a160924f3de4720.png)
操 作
|
命令
|
说明
|
运行
|
docker run
--name
container-name
-d
image-name
eg:docker run –name myredis –d redis
|
--name
:自定义容器名
-d
:后台运行
image-name:
指定镜像模板
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
-p ip:主机端口:容器端口 配置主机端口映射到容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定端口
-e 环境设置
-v 容器数据卷挂载
|
列表
|
docker ps
(查看运行中的容器);
|
加上
-a
;可以查看所有容器
|
停止
|
docker stop container-name/container-id
|
停止当前你运行的容器
|
启动
|
docker start container-name/container-id
|
启动容器
|
删除
|
docker rm container-id
|
删除指定容器
|
删除
|
docker rm $(docker ps -a -q)
|
删除所有的容器(只删除单个时把后面的变量改为image id即可)
|
端口映射
|
-p 6379:6379
eg:docker run -d -p 6379:6379 --name myredis docker.io/redis
|
-p:
主机端口
(
映射到
)
容器内部的端口
|
容器日志
|
docker logs container-name/container-id
|
运行镜像启动容器:
eg:启动mysql:需要初始化用户和密码
docker run --name mysql -d -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
eg:启动tomcat
docker run --name mytomcat -d tomcat:latest
查看运行中的容器:
docker ps
![](https://i-blog.csdnimg.cn/blog_migrate/2176eda170ce8b6297495bebf5af0cb2.png)
-
问题回顾:
1.docker 启动容器报错
Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting
解决方案:更新虚拟机
2.centos8安装注意事项
![](https://i-blog.csdnimg.cn/blog_migrate/7d8ea23fbe0a3b19a04134d646b80039.png)