docker安装
以目前主流的centos为例,docker可以直接使用yum命令直接安装;
#查询是否安装了docker
yum list installed |grep docker
#如果有 那么干掉他
yum remove docker....#查出来多少 干掉多少 不用给我面子;
使用yum命令进行安装
yum install docker -y
#嗯 没错 这就完事了 就一行命令
启动docker
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
查看Docker版本检测是否安装成功
docker -v
查看daoker
#检查docker的运行状态
systemctl status docke
#或者
service docker status
#查看docker进程 (ps命令)ps-ef|grep docker
docker 安装nginx
#1、搜索镜像 search 建议大家去docker
#2、下载镜像 pull
docker pull nginx #如果不带版本号的话,那么直接下载最新的Nginx镜像
如果不指定版本号的话,那么会默认下载latest也就是最近、最新的nginx镜像
#docker images 查看本地镜像 [root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 11 days ago 141MB
hello-world latest feb5d9fea6a5 3 months ago 13.3kB
centos latest 5d0da3dc9764 3 months ago 231MB
启动nginx服务、
#docker run -d --name nginx11 -p 3388:80 nginx# run就是运行的意思 #-d就是后台启动容器并返回容器id#--name 给这个容器起一个名字 叫做nginx11 # -p 指定外部端口给容器里80 (也可以理解把80端口映射为3388端口) 最后一个nginx就是容器的名字[root@localhost ~]# docker run -d --name nginx11 -p 3388:80 nginx
9f435eb63bed278a0bf6e0c0c5500834ac416342c6b2e42d0e304f9dfbb11cb9
#使用docker ps 查看一下启动中的镜像
docker ps
可以看到ports下面显示 0.0.0.0:3388->80/tcp, :::3388->80/tcp
就说明端口映射成功 并且nginx启动成功、
那么我们来输入虚拟机的IP加上3388端口号。
http://192.168.0.219:3388/
可以看到,和我们正常安装的nginx没有什么区别,无非就是端口号换了一下
这里注意一下,如果时阿里云ecs的话 记得把安全组开一下,都是泪。。。
#这里我们进入nginx的内部试一下 docker exec -it nginx11 /bin/bash#-it 等于 -i -t 的意思 其实是两个命令# -i 交互式启动# -t 给与一个伪端 (其实我就直接理解为后台交互式启动 你们随意)# nginx11就是容器的名字 这里也可以用容器的id代替 [root@localhost ~]# docker exec -it nginx11 /bin/bash
root@9f435eb63bed:/# ls
bin boot dev docker-entrypoint.d docker-entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@9f435eb63bed:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@9f435eb63bed:/# cd /etc/nginx/
root@9f435eb63bed:/etc/nginx# ls
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
root@9f435eb63bed:/etc/nginx##如果要修改配置文件的话 那么就直接改conf就可以了。#这里docker容器里面是没有vi 或者vim的 #apt-get update 先运行这个命令#apt-get install vim 然后安装vim (apt-get 感觉和centos的yum差不多)
docker安装mq
docker pull rabbitmq:xxx
#xxx可以指定版本号、# 查看下镜像
docker images
根据下载的镜像创建和启动容器
docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9
说明:
- -d 后台运行容器;
- –name 指定容器名;
- -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
- -v 映射目录或文件;
- –hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
- -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
使用命令:docker ps 查看正在运行容器
可以使用浏览器打开web管理端:http://Server-IP:15672
jar包mq配置文件如下:
rabbitmq:
host: 127.0.0.1
password: admin
port: 5672
username: admin
virtual-host: my_vhost
docker安装mysql
一样的操作
下载mysql镜像 pull一下
docker pull mysql:8.0
#8.0是版本号 不加版本号默认最新
然后运行
docker run --restart=unless-stopped -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
进入mysql:
#进入容器
docker exec -it mysql /bin/bash
#进入mysql
mysql -u root -p
#输入密码
password:123456
#查询参数select version(), @@sql_mode;#取消group by;set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';#再次运行select version(), @@sql_mode;#可以看到已经没有group by 了;exit#退出
然后开个端口 navicat就可以直接连接了;
提交镜像
使用commit命令,把目前的tomcat这个容器提交成一个镜像
docker commit -a="fushuai"-m="cp webapps app" 5df313c8fec1 tomcatfs:1.0
#-a 作者名#-m 镜像的描述#容器的ID#最后跟的是你这个镜像的名字加上版本号
docker commit -a="fushuai"-m="cp webapps app" 5df313c8fec1 tomcatfs:1.0
docker images看一下
那我们提交了这个镜像如何把它保存到本地,然后导入到另外一个服务器里面使用呢
#首先我们要把他导出到本地
docker save -o /home/ceshi/tomcatfs.tar tomcatfs:1.0
#这句命令就是把tomcatfs1.0版本 导出到/home/ceshi文件夹下面 叫做tomcatfs.tar (自定义命名哈)
可以看到,已经导出来了,那么我们再测试一下把系统的镜像删除掉,然后再把这个导入进去
[root@localhost ceshi]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcatfs 1.0 5aef45d791b6 2 days ago 684MB
[root@localhost ceshi]# docker rmi 5ae
Untagged: tomcatfs:1.0
Deleted: sha256:5aef45d791b6506bb59d18bde82ae9c7ce2178691c4774ec03e081018ae71d10
Deleted: sha256:197a1023fb73ec63ec6b16c52008353ff37397c5605d7cd43302ad7513567bc1
[root@localhost ceshi]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
看的到我们进镜像已经被删除了 然后我们用刚才导出的文件再给他导入回去。命令如下
[root@localhost ceshi]# docker load < /home/ceshi/tomcatfs.tar
465ff1db877f: Loading layer 4.94MB/4.94MB
Loaded image: tomcatfs:1.0
[root@localhost ceshi]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcatfs 1.0 5aef45d791b6 3 days ago 684MB
# < 后面跟的是导出文件的绝对路径哦
这样就可以更改自己的镜像并且提交,然后保存到本地,等到下次用的时候就可以直接进行使用了,贼拉简单。
纯属笔记以免自己以后使用的时候忘记
版权归原作者 F.S-Ning 所有, 如有侵权,请联系我们删除。