阿里云镜像配置
首先你得知道docker是什么?它是一个容器引擎,是可以去创建容器的一个引擎。
docker官网docker.hub上面有一堆的镜像 比如说 tomcat镜像,mysql镜像。。。。。(就是一堆的软件)
怎么去下载这些镜像(软件)呢? 通过docker pull 这个命令 从docker上面去下载
如果说你要下载mysql 那你就docker pull mysql ...
docker.hub 是国外的服务器 你要去下载的话,要很长很长的时间,那这个时候改怎么办呢?
我们做了一个代理,叫阿里云代理,阿里云把docker.hub 这个官网上面的所有的镜像全部都放到了自己的官网上面了,你去下载的时候,虽然名义上是从国外的服务器上面下载,但是下载到国内的服务器的时候,实际上它是先下载到阿里云然后从阿里云上面下载到你的本地。
阿里云镜像配置
(1)
在桌面新建一个文本文档,名字叫 daemon 这个名字一定要是这个名字,不能是别的名字 把这个文件的后缀改成json
将阿里云镜像文件复制到/etc/docker目录下面
重启docker
service docker restart
镜像的常用命令
查看当前系统下面的镜像有哪些
docker images
docker search :从docker hub 上面获取
docker search tomcat 看一下到底有多少个tomcat的版本
docker pull : docker pull tomcat = docker pull tomcat:7 如果你后面不加冒号 那就下载一个最新的版本 加了冒号那就指定一个你要下载的版本
docker rmi -f 镜像id 删除指定id对应的镜像
容器的常用命令
docker run -it 镜像id 新建并启动容器(在新建这个镜像的时候也生成了对应的容器)
docker run -it --name mycentos centos :加上 --name mycentos 就说明你给这个镜像起了一个名称 ,不加 那就用默认的镜像名称
docker run 执行了两个步骤 又生成一个镜像又生成一个容器
退出容器
.exit 容器停止退出
ctrl+P+Q 容器不停止退出
启动容器:
docker start 容器id或容器名
删除容器
docker rm -f 容器id
一次删除多个 docker rm -f 容器ID 容器ID
删除镜像 :docker rmi -f 容器ID
删除所有容器
docker rm-f $(docker ps -a -q)
进入容器
docker exec -it 容器ID /bin/bash(前提你的容器必须要是启动的状态) /bin/bash 这个是固定的
docker run -it -p 8081:8080 tomcat -p就是随机生成一个端口号
前面的端口号是映射的端口号 后面的端口号是你默认的端口号
启动容器 --- 守护式窗口
docker run -d centons
docker run 一定是启动,就是一般而言我们是在虚拟机里面 执行了docker run -d ,那不管我后面是什么容器,我依然是在我虚拟机的转态
docker run -d 它在linux这个页面 并且是去启动容器 但是为什么你的容器没有被启动呢?
docker run -d 它的目的不是为了去启动我们的容器,而是为了我宿主机的一个跳出,我只会是去创建容器,但是你的容器能不能使用,我不关心。守护的是linux而不是容器。有的时候,我们创建容器并不是未了进入到容器里面去操作事,而是创建这个容器去守护linux的线程。
而你交互的不是linux而是容器。就是我docker run 是去启动创建容器 但是你进入不进入容器是由我的命令说了算
Docker 安装mysql
(1) docker pull mysql:5.6 指定安装的一个版本
重启你的docker service docker restart
(2) 下面这个是你mysql 注册时候的一个密码配置 和ip 还有一些配置文件
docker run -p 3306:3306 --name mysql -v /kgc/mysql/conf:/etc/mysql/conf.d -v /kgc/mysql/logs:/logs -v /kgc/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
(3)docker ps -a 查看你的mysql 镜像有没有装好 如果你装好了 但是它是Exited 状态 那么可能是你的阿里云服务器的内存不够
进入到容器
(4)docker exec -it 容器ID /bin/bash
(5)在阿里云上面暴露你配置的mysql端口号 ,让你的Navicat 可以去连接你的mysql
然后就可以在你的Navicat上面去连接你刚刚下载的mysql了