Docker基础 包括安装

docker的安装

可参考官方文档

查看系统内核

uname -r

查看系统版本

cat /etc/os-release
#1.卸载旧版本
 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#2.需要的安装包
yum install -y yum-utils

#3.安装镜像的仓库(默认国外  推荐使用阿里云镜像)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#4.更新最新的yum
yum makecache fast

#5.docker相关的 (ce社区  ee企业)
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#6.启动docker
systemctl start docker

#7.查看docker版本
docker version

#8.docker的hello world 会提示(Hello from Docker!)
docker run hello-world

#9.查看hello-world的镜像
docker images

常用命令

镜像命令

#查看镜像
docker images
#查看镜像id
docker images -q

#查看进程
docker ps
#(历史运行)
docker ps -a
#(历史运行id)
docker ps -aq

#下载镜像
docker pull mysql
#下载其他版本
docker pull mysql:5.7

#删除镜像(docker rmi id)
docker rmi c20987f18b13

#启动nginx 
docker run -it -name nginx01 -p 9020:80 nginx
curl localhost:9020 			#linux可以访问
http://公网ip:9020/  	#客户端通过ip访问
#启动mysql镜像
docker run -it -name mysql01 -e  MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql
#可以客户端连接

#提交镜像
docker commit -a="wang" -m="ceshi  tijiao" 6359181883a8(nginx进程id) nginxceshi


容器命令

#交互式运行容器
docker run -it centos

#停止退出
exit
#不停止退出
ctrl+p+q
#进入容器
docker exec -it 容器id /bin/bash 	#进入容器后开启一个新的终端
docker attach 容器id /bin/bash	#进入容器正在执行的终端
#启动和停止容器
docker start 容器id 
docker restart 容器id 
docker stop 容器id 
docker kill 容器id 

#拷贝命令
docker cp 702e1341014a:/home/file.text /home  #从容器拷贝到主机

#portainer dcoker可视化面板
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

容器数据卷

容器之间可以有以后个数据共享技术!Docker容器中产生的数据,同步到本地,这就是卷技术

目录挂载,将我们容器内的目录,挂在到Linux上面

总结一句话:容器的持久化和同步操作,容器之间也是可以共享数据啊的

#使用数据卷  
#方式一:直接用命令赖挂载   -v   (双向同步)
docker run -it -v 主机目录:容器目录 nginx
docker run -it -p 9020:80  -v /home/benjiceshi:/home nginx #(在虚拟机添加文件本机会展示   本机添加虚拟机也展示)

具名和匿名挂载

#匿名
-v /home/rongqi(容器内路径)  nginx 
#具名
-v jumingNginx:/home/rongqi(卷名:容器内路径)  nginx 
#指定路径
-v /home/benjiceshi:/home/rongqi(本机路径:容器内路径)  nginx 

DockerFile

#编写脚本
FROM centos

VOLUME ["volume01","volume02"]

CMD echo "------end-------"

CMD /bin/bash


#打包构建
docker build -f dockerfile -t wang/centos .

DockerFile指令

FROM    		#基础镜像,一切从这里开始 相当于继承
MAINTAINER		#镜像是谁写的  姓名+邮箱
RUN				#镜像构建的时候需要运行的命令
ADD				#步骤 添加的内容
WORKDIR			#镜像的工作目录
VOLUME			#挂载的目录
EXPOSE			#指定对外端口
CMD				#指定容器启动的时候运行的命令(只有最后一个会生效,可被代替)
ENTERPOINT		#指定容器启动的时候运行的命令(可以追加命令)
ONBUILD			#当构建一个被继承DockerFile这个时候的就会运行ONBUILD 
COPY			#类似于ADD  将文件拷贝到镜像中
ENV				#构建的时候设置环境变量


SpringBoot微服务打包Docker镜像

1.springBoot项目

2.打包应用

3.编写dockerfile

4.构建镜像

5.发布运行

#编写dockerfile
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=9020"]
EXPOSE 9020
ENTERPOINT ["java","-jar","/app.jar"]

江jar包和该文件一同上传到服务器

#构建成镜像
docker build -f dockerfile -t testjar .
docker ps
docker run -d -P --name testboot 镜像id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值