最新动态
Docker容器安装及使用
2024-12-26 23:06

docker切记安装前需关闭NetworkManager
直接使用网络安装

 
 
 
 
 
 
 
 
 

重启docker再次测试上传成功.配置完成.测试拉取镜像会发现变快了许多

 
 
 
 

导入镜像 docker load -i 镜像包

 
 
 
 
 

查看容器运行状态 docker ps -a

 
 
 
 
 

强制删除vm1

 

启动保存后的buxybox:v1名称为vm1

 
 
 
 

Docker镜像构建
docker commit构建新镜像
运行容器----->>修改容器------>>保存容器为新镜像
缺点:效率低、可重复性弱、易出错、使用中无法对镜像进行审计,存在安全隐患.

利用docker build构建镜像
利用docker build构建镜像

 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

“Source”: “/var/lib/docker/volumes/a3343980370e534e391dd9dd164c6c9db9d741146063f50d5ab30c6125d354df/_data”,
进入目录创建文件并查看是否数据同步

 
 

如果需要手动设置挂载点不使用默认的/var/lib/docker/* 挂载点我们可以手动设置

   在重新启动一个vm3并加入-v参数冒号前面挂载点冒号后面容器镜像目录

 
 

RUN
在容器中运行命令并创建新的镜像层,用于安装软件等服务.

 

CMD、ENTRYPOINT
这两个指令都是用于容器启动后执行的命令,但CMD会被docker run后面的命令覆盖,而 ENTRYPOINT不会被忽略,一定会被执行.
   docker run 后面的参数可以传递给ENTRYPOINT指令当做参数.
   Dockerfile中只能指定一个ENTRYPOINT,如果指定了多个,只有最后一个有效,其他无效.
CMD指令
1)、exec格式用法 (常用
exec格式,也被称为JSON风格[“command”,“arg1”].

 

2)、shell格式用法

 

 
 
 
 
  1. exec格式用法 (常用
    ENTRYPOINT [“top”,"-b", “-H”]
    exec格式,也被称为JSON风格[“command”,“arg1”].

 
 

3)shell格式用法
ENTRYPOINT exec echo “nihao”
ENTRYPOINT ps -aux
例:

 
 
 
 

利用dockerfile安装nginx服务
首先下载centos镜像并在本地搭建yum源或利用外网yum源也行,这里在本地搭建http源安装

 

在本地生成nginx主页面并拷贝安装nginx所需yum源

 

配置dockerfile

 
 
 
 
 

查看web所对应的IP是否生成

 
 
 

因为没有做端口映射所有只能访问docker内置Ip在进行映射
启动web2并进行映射 -p端口映射

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Docker私有仓库搭建
  1、首先需下载registry
  2、映射registry端口
  3、修改push镜像名称为本地名称
  4、Push镜像及pull镜像并查看镜像存放点.

 

启动registry并打入后台运行并进行端口映射registry默认为5000端口

 

查看数据卷

 

修改nginx名称

 

上传至本地仓库

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

登录测试

 
 
 
 
 

在服务端拷贝客户端认证key

 
 
 
 
 
 
 
 
 
 
 
 

创建自定义网络网络名称为network1
创建自定义网络-d默认为bridge 如需更改模式只需修改-d后

 
 
 
 
 
 
 
 
 
 

Joined 容器是一种特别的网络模式
在创建容器时添加 --network=conatiner:vm1(容器名称

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

在两台docker中做同样步骤   创建一个macvlan 并制定网卡为ens34

 
 
 
 
 
 

Macvlan会独占主机网卡,但可以使用vlan子接口实现多macvlan网络
Vlan可以将物理二层网络划分为4094个逻辑网络,彼此隔离,vlan id 取值为1 ~ 4094

创建vlan子接口
在docker1中创建并启动新容器vm3

 
 
 
 

Docker数据卷
Docker分层文件系统 性能差,生命周期与容器相同
Docker数据卷
Mount至主机,绕开分层文件系统;和主机磁盘性能相同,容器删除后依然保留;仅限本地磁盘不能随容器仅限迁移
Docker提供了两种卷
Bind mount docker managed volume

Bind mount 将主机上文件或目录直接以mount至容器中

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Docker volume插件 可根据官方插件进行配置
https://docs.docker.com/engine/extend/legacy_plugins
本地利用convoy插件配置卷

首先需要在两台docker中配置文件存储 这里利用nfs实验
在Docker1中

 

在docker2配置

 
 
 

挂载成功后安装convoy,两台docker都需要安装convoy

 

注这里启动convoy服务path指定的是nfs挂载目录也就是docker1在/mnt/nfs中docker2在/opt/data中否则不能启动

 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 
 
 
 

Docker 基于lxcfs增强docker隔离性

 
 
 
 
 
 
 
 
 
 

http://man7.org/linux/man-pages/man7/capabilities.7.html acp-add所需权限页面

例如添加网络权限

 
 
 
 
 

在次新增一台docker服务器
Server1

dockerIPserver1(master)10.217.135.35server2 (node1)10.217.135.36server3 (node2)10.217.135.37

在server1中

 
 
 
 
 
 
 
 
 
 

    以上就是本篇文章【Docker容器安装及使用】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/quote/4753.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多