Docker入门介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
个人理解:Docker 就是一个大的容器,里面可以安装很多其他容器。就想Docker官网的那个图标一样.每个容器里面是一个独立的系统,方便移植,docker里面的容器相互不影响,相互独立的。比如需要启动一个项目:需要项目,tomcat和mysql,RabbitMq,Redis等其他中间件。因此我们可以通过都在docker容器中实现
Docker的安装
现在通过虚拟机构建docker容器。vagrant + virtualBox 来安装虚拟机
主要步骤如下:
1、 准备好virtualBox 如下步骤
01、访问VirtualBox官网
https://www.virtualbox.org/
02、选择左侧的“Downloads”
03、选择对应的操作系统版本
04、逐步安装即可
2、安装centos7
01、创建centos7文件夹,并进入其中[目录全路径不要有中文字符]
02、cmd 命令 执行 vagrant init centos/7 命令
03、将virtualbox.box文件添加到vagrant管理的镜像中
(1)下载网盘中的virtualbox.box文件
(2)保存到磁盘的某个目录,比如D:\virtualbox.box
(3)添加镜像并起名叫centos/7:vagrant box add centos/7 D:\virtualbox.box
(4)vagrant box list 查看本地的box[这时候可以看到centos/7]
3、centos/7镜像有了,根据Vagrantfile文件启动创建虚拟机
来到centos7文件夹,在此目录打开cmd窗口,执行vagrant up[打开virtual box观察,可以发现centos7创建成功]
好了,到了这一步基本已经完成了虚拟机的创建了
vagrant 的部分常用的命令:
vagrant halt 优雅关闭
vagrant up 正常启动
vagrant ssh 进入刚才创建的centos7中
vagrant status 查看centos7的状态
vagrant destroy 删除centos7
vagrantfile 中也可以写脚本命令,使得centos7更加丰富
但是要注意,修改了Vagrantfile,要想使正常运行的centos7生效, 必须使用vagrant reload
接下来通过ssh 连接
在centos文件夹下执行
-> vagrant ssh-config
关注:Hostname Port IdentityFile
IP:127.0.0.1
port:2222
用户名:vagrant
密码:vagrant
文件:Identityfile指向的文件private-key
-> vagrant ssh 进入到虚拟机中
sudo -i
vi /etc/ssh/sshd_config
修改PasswordAuthentication yes
passwd修改密码,比如abc123
systemctl restart sshd
使用账号root,密码abc123进行登录
接下来才是真正的主题:安装Docker
安装包路径
执行命令如下:
卸载之前的docker
1、 vagrant ssh
2、sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、安装必要的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
4、为了加快下载镜像的速度,这个地方配置下docker仓库(阿里云仓库,申请一个阿里云账号就可以有了) 如下图
5、安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
6、启动docker
sudo systemctl start docker
7、测试docker安装是否成功
sudo docker run hello-world
Docker之RabbitMq安装
安装
1、拉取镜像
-> docker pull rabbitmq:3.7.17-management
2、创建docker网络(让容器可以和主机通信)
-> docker network create rabbitmqnet
3、docker run -d
--name=rabbitmq1 \
-p 5673:5672 \
-p 15673:15672 \
-e RABBITMQ_NODENAME=rabbitmq1 \
-e
RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU'\
-h rabbitmq1 \
--net=rabbitmqnet \
rabbitmq:management
4、 查询本机IP地址
ip a
访问:http://ip:15673/ guest/guest登录即可
到了这一步基本算是实现了RabbitMq安装了。
其他
一些docker相关命令 个人认为比较常用的 如下;
-- docker的启动
-> systemctl start docker
-- 关闭docker
-> systemctl stop docker
-- 查看有那些images
->docker images
-- 查看已经停用的容器
-> docker ps -a
--启用指定容器
->docker start cb6c047e682f (cb6c047e682f为该容器的CONTAINER ID)
--停止指定容器
->docker stop cb6c047e682f (cb6c047e682f为该容器的CONTAINER ID)
-- 查看启用的容器
-> docker ps
-- 进入某个容器
-> docker exec -it mysql_01 /bin/bash (mysql_01该容器的NAMES)