1.docker 常用命令解析
docker ps : 查看当前运行的 container -a 查看之前的container
docker stop :停止container
docker rm: 删除container
docker rmi : 删除image
docker images : 查看当前image集合
docker run : 运行image -d 后台运行 --name 声明别名 -p 将宿主机端口映射到容器端口
docker exec -it xxx /bin/bash 进入container 进行操作
docker exec -it xxx /bin/sh 有点container 不带/bin/bash 可以用这个替换
docker pull : 将docker image 拉取到本地
docker build -t <name> . 将当前目录下 Dockerfile 文件 打包成image
2.docker 将springBoot jar 打包成image
1.将目标jar包上传到某服务器
2.编辑 Dockerfile 文件 同jar包目录下
3. file 文件内容 :
1# 基础镜像是docker仓库的java:8(也就是jdk8的意思)
FROM java:8
# 作者签名
MAINTAINER Ma Lizhi
# 简化 jar 的名字路径 (左边是服务器中jar包的路径,因为当前文件是和jar包同级,所以直接写名字即可,右边是镜像中要存放jar包的路径)
COPY lost_and_found-v1.jar /lost_and_found-v1.jar
# 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就此行,后面的jar包路径就是上面要设置的jar包路径)
CMD java -jar /lost_and_found-v1.jar
# 设置对外端口为 8082
EXPOSE 8082
4.在这个目录下 执行 docker build -t test . //将当前目录下DockerFile 打包到image 中
5. 通过docker images 查看 image 是否成功 如果成功 通过docker run
3.docker 虚拟机安装
我们通常在windows上面想要进行docker 最理想的是利用虚拟机 安装centos 系统
这边采用vagrant + virtual box 来搭建虚拟机加上 创建docker
下面我对虚拟机的过程做个笔记
1.下载安装vagrant
01 访问Vagrant官网 https://www.vagrantup.com/
02 点击Download Windows,MacOS,Linux等
03 选择对应的版本
04 傻瓜式安装
05 命令行输入vagrant,测试是否安装成功
2.下载安装virtual box
01 访问VirtualBox官网 https://www.virtualbox.org/
02 选择左侧的“Downloads”
03 选择对应的操作系统版本
04 傻瓜式安装
05 [win10中若出现]安装virtualbox快完成时立即回滚,并提示安装出现严重错误 (1)打开服务 (2)找到Device Install Service和Device Setup Manager,然后启动 (3)再次尝试安装
4.安装centos7
01 创建first-docker-centos7文件夹,并进入其中[目录路径不要有中文字符]
02 在此目录下打开cmd,运行vagrant init centos/7 此时会在当前目录下生成Vagrantfile
03 运行vagrant up[注意不要运行,拉取远端的centos7太慢] 此时会找centos7的镜像,本地有就用本地的,本地没有就会拉取远端的
04 准备centos7的box
(1)选中命令行中提示的链接 比如 https://vagrantcloud.com/centos/boxes/7/versions/1905.1/providers/virtualbox.box
(2)复制到迅雷中下载
(3)vagrant box add centos/7 D:\迅雷下载\virtualbox.box
(4)vagrant box list 查看本地的box[这时候可以看到centos/7]
05 根据本地的centos7 box创建虚拟机 vagrant up[打开virtual box,可以发现centos7创建成功]
06 vagrant基本操作
(1)vagrant ssh 进入刚才创建的centos7中
(2)vagrant status 查看centos7的状态
(3)vagrant halt 停止centos7
(4)vagrant destroy 删除centos7
(5)vagrant status 查看当前vagrant创建的虚拟机
(6)Vagrantfile中也可以写脚本命令,使得centos7更加丰富 但是要注意,修改了Vagrantfile,要想使正常运行的centos7生效,必须使用vagrant reload
5 多节点Vagrantfile 案例
(1..2).each do |i|
config.vm.define "node#{i}" do |node|
# 设置虚拟机的Box
node.vm.box = "centos/7"
# 设置虚拟机的主机名
node.vm.hostname="node#{i}"
# 设置虚拟机的IP
node.vm.network "private_network", ip: "192.168.56.#{100+i}"
# 设置主机与虚拟机的共享目录
# node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"
# VirtaulBox相关配置
node.vm.provider "virtualbox" do |v|
# 设置虚拟机的名称
v.name = "node#{i}"
# 设置虚拟机的内存大小
v.memory = 2048
# 设置虚拟机的CPU个数
v.cpus = 2
end
end
end
6 vagrant root xshell 登陆
(1) 在vagrant 当前虚拟机安装目录下 执行 vagrant ssh
(2) vi /etc/ssh/sshd_config
(3) 修改PasswordAuthentication yes
(4) passwd修改密码
(5) systemctl restart sshd
7 安装docker
删除 以前的 yum remove docker docker-client docker-client-latest docker-common \ docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
修改镜像为阿里云:自己查找阿里云镜像服务(镜像加速)
yum install -y docker-ce docker-ce-cli containerd.io 安装docker
systemctl start docker && sudo systemctl enable docker 启动docker
docker run hello-world 测试是否安装成功