物流的网站模板,杭州网站前端建设,成都软件外包公司,网站建设属于固定资产吗文章目录 docker环境准备docker 镜像相关命令docker 容器相关命令容器和主机之间信息传递 内网中将jar包上传到docker仓库中 docker环境准备
1.查看环境中是否存在docker环境 docker version 2.不存在的话需要创建docker
镜像#xff08;image#xff09;#xff1a;
dock… 文章目录 docker环境准备docker 镜像相关命令docker 容器相关命令容器和主机之间信息传递 内网中将jar包上传到docker仓库中 docker环境准备
1.查看环境中是否存在docker环境 docker version 2.不存在的话需要创建docker
镜像image
docker镜像就好比是一个目标可以通过这个目标来创建容器服务tomcat镜像run容器提供服务
器通过这个镜像可以创建多个容器最终服务运行或者项目运行就是在容器中的。容器container:
Docker利用容器技术独立运行一个或者一组应用通过镜像来创建的.
启动停止删除基本命令
目前就可以把这个容器理解为就是一个简易的 Linux系统。仓库repository:
仓库就是存放镜像的地方
仓库分为公有仓库和私有仓库。(很类似git)
Docker Hub是国外的。
阿里云…都有容器服务器 (配置镜像加速!)安装docker
1.环境准备
linux要求内核3.0以上
centos7
2.环境查看
#系统内核要求3.0以上
[rootlocalhost ~]# uname -r
3.10.0-1062.el7.x86_64
#系统版本
[rootlocalhost ~]# cat /etc/os-release
NAMECentOS Linux
VERSION7 (Core)
IDcentos
ID_LIKErhel fedora
VERSION_ID7
PRETTY_NAMECentOS Linux 7 (Core)
ANSI_COLOR0;31
CPE_NAMEcpe:/o:centos:centos:7
HOME_URLhttps://www.centos.org/
BUG_REPORT_URLhttps://bugs.centos.org/
CENTOS_MANTISBT_PROJECTCentOS-7
CENTOS_MANTISBT_PROJECT_VERSION7
REDHAT_SUPPORT_PRODUCTcentos
REDHAT_SUPPORT_PRODUCT_VERSION72.安装
#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://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新软件包索引
yum makecache fast
#4.安装docker docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io # 这里我们使用社区版即可
#5.启动docker
systemctl start docker
#6.使用docker version 查看是否安装成功
docker versiondocker 镜像相关命令
docker version # 显示docker的版本信息
docker info # 显示docker的系统信息包括镜像和容器的数量
docker 命令 --help # 帮助命令# 镜像命令
docker images 查看镜像信息
REPOSITORY 镜像的仓库源
TAG 镜像标签
IMAGE ID 镜像id
CREATED 镜像的创建时间
SIZE 镜像的大小
#可选项
Options:
-a, --all # 列出所有镜像
-q, --quiet # 只显示镜像iddocker search 搜索镜像
eg:docker search mysql
docker pull 镜像名[:tag]
eg: docker pull mysql:5.7删除镜像
[rootlocalhost /]# docker rmi -f 镜像id #删除指定镜像
[rootlocalhost /]# docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像
[rootlocalhost /]# docker rmi -f $(docker images -aq) #删除全部镜像将本目录下所有文件打包成镜像
docker build -t app-cli:1.1 .docker 容器相关命令
# 有了镜像才可以创建容器
1.新建镜像并启动容器
docker run -d app-cli:1.1
# 参数说明
--nameName 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行进入容器查看内容
-p 指定容器的端口 -p 8080:80
-p ip:主机(即宿主机)端口容器端口
-p 主机端口容器端口 #这种方式常用
-p 容器端口
容器端口P
-P 随机指定端口(大写P)列出所有容器
docker ps 列出正在运行的容器
docker ps -a 列出历史上所有容器
exit # 直接退出容器
Ctrl p q # 容器不停止退出
删除容器
docker rm 容器id # 删除指定容器不能删除正在运行的容器如果要强制删
除 rm -f
docker rm -f $(docker ps -aq) # 删除所有容器
docker ps -a -q|xargs docker rm # 删除所有容器
启动和停止容器的操作
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前正在运行的容器
显示日志
docker logs -f -t --tail 数字 容器id
# 显示日志
-tf # 显示日志
--tail # 要显示的日志条数
[rootlocalhost /]# docker logs -tf --tail 10 ce989f90023d# 查看容器中进程的信息
# 命令 docker top 容器id
[rootlocalhost /]# docker top ce989f90023d进入当前正在运行的容器
# 方式一
docker exec -it 容器id bashShell
# 方式二
docker attach 容器id
# 测试
[rootlocalhost /]# docker attach ce989f90023d
# docker exec # 进入容器后开启一个新的终端可以在里面操作常用
# docker attach # 进入容器正在执行的终端不会启动新的进程容器和主机之间信息传递
从容器内拷贝文件到主机上
docker cp 容器id:容器内目标文件路径 目的主机路径
# 查看当前主机目录
[rootlocalhost home]# ls
ztx
# 进入docker容器内部
[rootlocalhost home]# docker attach ce989f90023d
[rootce989f90023d /]# cd /home/
[rootce989f90023d home]# ls
# 在容器内新建一个文件
[rootce989f90023d home]# touch test.java
[rootce989f90023d home]# exit
exit
[rootlocalhost home]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
ce989f90023d centos /bin/bash 44 minutes ago Exited (0) 46 seconds
ago nifty_johnson
# 将docker内文件拷贝到主机上
[rootlocalhost home]# docker cp ce989f90023d:/home/test.java /home
[rootlocalhost home]# ls
test.java ztx
[rootlocalhost home]#
# 拷贝是一个手动过程未来我们使用 -v 卷的技术可以实现自动同步内网中将jar包上传到docker仓库中
1.环境说明 1.开发人员将java微服务打包成在linux中可运行的jar包将其传送给运维人员 2.外网和内网可以传送文件 3.内网需要有linux服务器并且配置了docker环境和命名空间 这里过程是基于k8s的集群kuoard控制器上传docker的过程环境都是配置完毕的 2.创建dockerfile 先在命名空间中创建一个项目目录用于接收项目的多个微服务 这里选择/app 命名空间 mkdir /app/B2C-cph 将指定部署包上传到指定目录下 mkdir /app/B2C-cph/app mkdir /app/B2C-cph/nginx mkdir /app/B2C-cph/mysql mkdir /app/B2C-cph/redis … 不同服务上传到不同的目录下 每个服务下编写不同的dockerfile 这里选择一个java微服务做个dockrfile
1.从仓库中拉取jdk1.8环境
from 仓库地址/项目名/镜像:latest
2.添加微服务jar包
ADD app.jar app.jar
3.环境设置
ENV LANGen_US.utf8
4.启动命令
ENTRYPOINT [java,-jar,app.jar]app目录下只有app.jar和dockerfile文件
1.将app目录打包成镜像
# docker build -t app-cli:1.0 .
2.打标签
# docker tag app-cli:1.0 仓库地址/项目名/app-cli:1.0
3.上传到仓库
# docker push 仓库地址/项目名/app-cli:1.0这里去内网docker仓库页面就可以可看到创建的镜像了 可以在k8s集群管理平台拉取镜像创建容器