Docker的入门与基本使用

SpringBoot与Docker

1、Docker是一个开源的应用容器引擎;不是虚拟机,是一个轻量级容器技术,但却实现了虚拟机的功能。

2、相关概念及介绍
Docker主机(Host):安装了docker程序的机器(Docker直接安装在操作系统上面的);
Docker客户端(Client):连接Docker主机进行操作
Docker仓库(Registry):用来保存各种打包好的软件镜像;
Docker镜像(Images):软件打包好的镜像;放在Docker仓库里面
Docker容器(Container):镜像启动以后的容器就称为一个实例;容器就是独立运行的一个或一组应用

使用Docker的步骤
1、安装Docker
2、去Docker仓库找到这个软件对应的镜像
3、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器,容器就代表当前正在运行的应用;
4、对容器的启动停止就是对软件的启动停止


centos7镜像系统操作
步骤1、检查内核版本,必须是3.10及以上
uname -r查看内核版本 Docker要求Centos系统的内核版本高于3.10
如果内核版本不够使用yum update升级软件包及内核

2、安装docker
yum install docker

3、输入y确认安装

4、启动 docker 
systemctl start docker
查看docker的版本
docker -v

将docker服务设为开机启动 systemctl enable docker
停止docker
systemctl stop docker

docker search 软件
去仓库里面搜索mysql的镜像
例如:docker search mysql
默认的话就是去docker hub(https://hub.docker.com/)搜索一些软件的镜像
docker pull 镜像 (去docker hub上面抓取相应到镜像到本地)
例如 docker pull mysql(默认拉取最新版本的)
docker pull mysql:5.6下载5.6版本的mysql
docker images查看docker所有的镜像
docker rmi image-id 删除指定的本地镜像

2)、docker容器操作
软件的镜像(可以类比QQ的安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的QQ);
步骤
1、搜索镜像
docker search tomcat
2、拉取镜像
docker pull tomcat
3、根据镜像启动容器
docker run --name mytomcat(自己取的名字) -d(后台运行) tomcat(镜像):latest(tag标签)
[root@iZbp16pad23826w5ejwmafZ ~]# docker run --name myTomcat -d tomcat 
6e12d92d4f45a054a2657e4fe6c9af6d4171100754203442efec7fb68fd72a57(当出现这一串项目唯一id之后,容器就运行起来了)
4、查看运行中的容器列表
docker ps
5、停止运行中的容器
docker ps查看容器的container id或者names
docker stop container id或者 names
docker stop myTomcat
6、查看所有的容器
docker ps -a 查看所有的容器
docker ps是查看所有在运行中的容器
7、启动容器
docker start (容器id或者自己创建的名字)
docker start myTomcat
删除容器
docker rm container-id(容器id或者自己定义的名字)
docker rm myTomcat
9、启动一个做了端口映射的tomcat
docker run --name container-name -d image-name(--name:自定义容器名,-d:后台运行,image-name:指定镜像模板) 
docker run --name container-name -d -p 6379:6379 image-name(--name:自定义容器名,-d:后台运行,image-name:指定镜像模板) 
-p:将主机端口(映射到)容器内部的端口     主机端口:容器端口
docker run (--name myTomcat(自定义容器名) 可选) -d(后台运行) -p(端口映射) 8888(docker内部端口):8080(主机端口) tomcat
将虚拟机内部的8888端口映射到主机的8080端口
如果没有自定义名字的话,docker会自定义一个名字

service firewalld status; 查看防火墙状态
service firewalld stop; 关闭防火墙
容器日志 docker logs container-name/container-id

3)、安装mysql示例
从docker hub上面抓取mysql,命令:docker pull mysql

mysql退出了
[root@iZbp16pad23826w5ejwmafZ ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                    NAMES
e7339e147ea1        mysql               "docker-entrypoint..."   2 minutes ago       Exited (1) 2 minutes ago                            mySql
0c2204646d93        tomcat              "catalina.sh run"        About an hour ago   Up About an hour           0.0.0.0:8888->8080/tcp   myTomcat

错误日志
[root@iZbp16pad23826w5ejwmafZ ~]# docker logs e7339e147ea1
2020-04-12 08:47:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.19-1debian10 started.
2020-04-12 08:47:54+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2020-04-12 08:47:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.19-1debian10 started.
2020-04-12 08:47:54+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
        You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD   
        这三个参数必须制指定一个

正确启动
[root@iZbp16pad23826w5ejwmafZ ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
78634f8daa1d8c338b577a11699f920a1de7673383753354ee252b32104add60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值