Docker的安装

1掌握Docker的安装

1 安装docker

1)yum 包更新到最新
		
			 yum update
		
		(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

			 yum install -y yum-utils device-mapper-persistent-data lvm2
		
		(3)设置yum源为阿里云
		
			 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
		
		(4)安装docker【docker-ce: 社区版,免费;   docker-ee:企业版,收费】
		
			 yum install docker-ce -y
		
		(5)安装后查看docker版本
		
			 docker -v

2 设置ustc镜像源:

			# 编辑该文件:
			mkdir -p /etc/docker

			vi /etc/docker/daemon.json  
			
			
			# 在该文件中输入如下内容:
			{
			"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
			}
			
			# 配置多个如下:
			{
			"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
			"registry-mirrors": ["https://0wrdwnn6.mirror.aliyuncs.com"]
			}

3 Docker的启动与停止

			systemctl start docker      启动docker:
			
			systemctl stop docker       停止docker:
			
			systemctl restart docker   重启docker
			
			systemctl status docker    查看docker状态
			
			systemctl enable docker    开机启动
			 
			docker info  				查看docker概要信息
			
			docker --help 				 查看docker帮助文档

4 Docker镜像相关的命令

		docker images                   查看镜像
		
		docker search 镜像名称         从网络中查找需要的镜像
		

		docker pull 镜像名称            拉取镜像就是从中央仓库中下载镜像到本地
		
			例如:	#如果不指定版本号,下载最新版本
			
					docker pull centos 
					docker pull centos:latest
		
		删除镜像
		docker rmi 镜像ID或者镜像名称
		docker rmi `docker images -q` 删除所有镜像(谨慎操作)

2 Docker 容器操作命令

1.创建容器命令:

	
		docker run	【参数】  镜像名称:标签 /bin/bash
		
					-i:表示运行容器
			
					-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
			
					--name :为创建的容器命名。
			
					-v:表示目录映射关系(前者是宿主机目录:后者是映射到容器上的目录),
						可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
			
					-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,
						创建后就会自动进去容器)。
						
					-e  代表添加环境变量  MYSQL_ROOT_PASSWORD:密码 是root用户的登陆密码
			
					-p:表示端口映射,(前者是宿主机端口:后者是容器内的映射端口。)可以使用多个-p做多个端口映射
					

	1)交互式方式创建容器(==创建以后就马上进入到容器内部了,容器运行==)
			
				docker run -it --name=自定义容器名称 镜像名称:标签id /bin/bash
				
							这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态  

				退出当前容器  容器马上停止
					exit
   2)守护式方式创建容器:(守护式容器是一直运行的,退出容器都是exit,退出只是退出终端,它还是在后台运行)
			
				docker run -di --name=自定义容器名称 镜像名称:标签id /bin/bash
				
			
			
			
			例如

2、查看容器

			docker ps -l   查看最后一次运行的容器
			docker ps      查看运行容器
			docker ps -a   查看所有容器

3.进入容器

				docker exec -it 容器名称 (或者容器ID) /bin/bash

4 启动与停止容器

			#开启 自动启动容器
				docker update --restart=always 容器名称(或者容器ID)	
		
			#停止容器:
				docker stop 容器名称(或者容器ID)   
			
			# 启动容器:
				docker start 容器名称(或者容器ID) 
				
			#重启容器
				docker restart 容器名称(或者容器ID)

			
		
				
			#启动全部容器	
				docker start $(docker ps -aq)
				
			#停用全部运行中的容器:
				docker stop $(docker ps -q)				

5. 删除容器

		  1.删除容器的时候,一定要先执行停止容器命令
		
			# 删除指定的容器:
			
				docker rm 容器名称或(容器ID)
				
			强制删除
				docker rm -f 容器名称或(容器ID)
			
				
			# 比如
					> docker stop mynginx2
					> docker rm mynginx2		
			
	
	
			2.删除全部容器:
			
				docker rm $(docker ps -aq)
				
				
			3.一条命令实现停用并删除容器:
				docker stop $(docker ps -q) & docker rm $(docker ps -aq)
				

6 文件拷贝

 注意细节:容器停止状态也可以进行文件的拷贝,可以拷进去,也可以拷出来
		
			#1 将文件拷贝到容器内可以使用cp命令
		
				docker   cp 需要拷贝的文件或目录 容器名称:容器目录   
			
			> docker cp hello.txt mynginx:/usr/local
			
			#2 也可以将文件从容器内拷贝出来
			
				docker   cp 容器名称:容器目录 需要拷贝的文件或目录
				
			> docker cp mynginx:/usr/local/hello.txt  hello.txt

7. 目录(文件)挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,
这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器 添加-v参数 后边为 宿主机目录:容器目录
		
如:docker run -di -v /usr/local/myhtml:/usr/local/myhtml   --name=mycentos3 centos:7  
		
查看容器的IP
			
	docker inspect [容器名或者容器ID]
	> docker inspect tomcat
	> docker inspect nginx

8.Docker容器的备份与迁移

				
			1、先把容器变成镜像:(主要的作用就是配置好的一些容器,可以得到复用,就不需要重新再次配置了)
			
				docker commit 容器名称 自定义镜像的名称
				
					docker commit mynginx mynginx_i      容器保存为镜像  
				
			2、导出镜像(备份):  docker save -o  镜像保存的目录/镜像名称.tar   上一步保存的自定义镜像的名称
			
					docker  save -o mynginx.tar mynginx_i     注意是保存在当前执行命令的宿主机上的目录中
			
			3、导入镜像(恢复):  docker load -i     镜像保存的目录/镜像名称.tar 	
			
					docker load -i mynginx.tar

9. Dockerfile构建镜像

			使用脚本创建镜像
			步骤:
				(1)创建目录
						mkdir –p /usr/local/dockerjdk8
						
						下载jdk-8u171-linux-x64.tar.gz并上传到服务器(虚拟机)中的/usr/local/dockerjdk8目录
				
				
				(3)创建文件Dockerfile 
				
						vi Dockerfile
						
						#把一下内容考进去
						
						
						#依赖镜像名称和ID
						FROM centos:7
						#指定镜像创建者信息
						MAINTAINER ITCAST
						#设置容器的工作目录
						WORKDIR /usr
						RUN mkdir  /usr/local/java
						#ADD 是相对路径jar,把java添加到容器中 
						#将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
						ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
						#配置java环境变量
						ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
						ENV JRE_HOME $JAVA_HOME/jre
						ENV PATH $JAVA_HOME/bin:$PATH4)执行命令构建镜像
						docker build -t='My-Jdk1.8' .
						注意后边的空格和点,不要省略
						
				
				(5)查看镜像是否建立完成
						docker images
						
						创建容器
						docker run -di --name=myjdk1.8 My-Jdk1.8

10. Docker的registry私服

1、私有仓库搭建与配置

1)拉取私有仓库镜像(此步省略)
				docker pull registry
					
			 2)启动私有仓库容器
				docker run -di --name=myregistry -p 5000:5000 registry
					
			3)打开浏览器 输入地址 http://192.168.23.7:5000/v2/_catalog
			看到{"repositories":[]} 表示私有仓库搭建成功并且内容为空
					
			4)修改daemon.json 配置私服的地址
				vi /etc/docker/daemon.json
					
				#添加以下内容,保存退出。
					
				{"insecure-registries":["192.168.23.7:5000"]}
					
				#此步用于让 docker信任私有仓库地址
					
			5)重启docker 服务
				systemctl restart docker

2、镜像上传至私有仓库

1)标记此镜像为私有仓库的镜像
					
			docker tag 本地镜像名 192.168.23.7:5000/自定义镜像名12)再次启动私服容器
			docker start registry
					
		3)上传标记的镜像
					
			docker push 192.168.23.7:5000/自定义镜像名14)把已经下载的本地镜像删了,此时就可以使用私服下载镜像了
					
			之前  docker pull 镜像名
						
			docker pull  192.168.23.7:5000/自定义镜像名1
		

3 使用Docker创建容器

	进入容器内部:  docker exec -it 容器名称或者id /bin/bash

1) 安装Tomcat容器

		1 docker pull tomcat:7-jre7
		2 docker run -di --name=mytomcat -p 8080:8080 tomcat:7-jre7 
		 # 查看日志
		3 docker logs -f mytomcat   :查询所有日志
		4 docker logs -f --tail=30 mytomcat   : 查询最后三十行日志

2.)安装Nginx容器

		1 docker pull nginx   
		2 docker run -di --name=mynginx -p 80:80 nginx   
		# 查看日志
		3 docker logs -f 容器名称或者id

3.)安装Redis容器

		1 docker  pull redis   
		2 docker run -di --name=myredis -p 6379:6379 redis
		
		3 redis-cli.exe -h 192.168.13.111 -p 6379
		
		# 查看日志
		4 docker logs -f myredis

4 )Rabbitmq容器

 1)下载RabbitMQ镜像
		docker pull rabbitmq:management
		
2)创建RabbitMQ容器
		docker run -di --name=myrabbitmq -p 15671:15671 -p 15672:15672 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 25672:25672 rabbitmq:management
		
		
		======================================
		创建容器,rabbitmq需要有映射以下端口: 5671 5672 4369 15671 15672 25672
		15672(if management plugin is enabled)
		15671:management监听端口
		56725671 (AMQP 0-9-1 without and with TLS)
		4369 : epmd 代表 Erlang 端口映射守护进程
		25672 (Erlang distribution)
		======================================
		
		--name:指定容器名称
		-p:将mq端口号映射到本地
		
		
		
		# 查看日志
		
		docker logs -f myrabbit
		
		http://192.168.23.7:15672 访问rabbit控制台

5 )安装 elasticsearch

			1 docker pull elasticsearch:6.7.1
			
			2 docker run --name=myelasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.7.1
	
			3 然后访问 [http://192.168.189.141:9200
		

		配置远程访问
		
		
			1 	docker exec -it elasticsearch容器ID /bin/bash
			2		ls
			# 进入到config目录
			3		cd config
			# vi ES配置文件elasticsearch.yml加入2个参数,并重启
			# (没有vi apt-get update 然后 apt-get install -y vim)
			
			4	vi elasticsearch.yml
			#添加一下内容进去
			
				http.cors.enabled: true
				http.cors.allow-origin: "*"
				
			# 重启容器
			5	docker restart 容器名/ID 
			
			# 查看启动日记
			6 > docker logs 容器ID/名称
			
		启动 mobz/elasticsearch-head:5 			
		
			7	docker pull mobz/elasticsearch-head:5
		
			8	docker run -di --name='eshead' -p 9100:9100 mobz/elasticsearch-head:5
				
			9	然后打开浏览器: 192.168.189.141:9100 填入ES地址
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值