Docker自制镜像之私有云平台完整版

简介: 一、Docker安装Docker之安装篇二、Docker操作搜索中央仓库可用镜像$ docker search centos2.1【镜像操作命令】2.

一、Docker安装

Docker之安装篇

二、Docker操作

搜索中央仓库可用镜像

$ docker search centos

2.1【镜像操作命令】

2.1.1 查看所有镜像docker images删除所有镜像

$ docker rmi $(docker images -q)

2.1.2 删除没有使用的镜像

docker rmi -f $(docker images | grep "" | awk "{print \$3}")

2.2【容器操作命令】

2.2.1 查看所有容器(包括未运行)

$ docker ps -a

2.2.2 删除所有未运行容器(https://www.jb51.net/article/111073.htm)

$ docker rm $(docker ps -a -q)

2.2.3 删除停止的容器

$ docker rm $(docker ps --all -q -f status=exited)

2.2.4 创建容器(暂不推荐)

$ docker create --name=wang-base-node [增加可选参数]

2.2.5 创建并启动容器(推荐,注:显示指定--network=host 代替默认的 bridge 模式可能性能更好,--privileged表示以超级权限启动,-d表示以后台启动,-v表示共享挂载宿主机与容器目录(宿主机目录:容器目录)可以写多个 如:-v /opt/apps:/opt/apps -v /mnt/disk1:/mnt/disk1表示分别挂载两个目录,重要:这里以/usr/sbin/init作为入口启动的好处是避免在centos7下默认sshd/systemctl/d-bus等服务不会自启动的问题)

$ docker run -tid -v /mnt/disk1:/mnt/disk1 --privileged --name=wang-base-node --hostname=wang-base-node --network=bridge wang-centos7-base /usr/sbin/init [其他可选参数]

或增加端口映射的语法(宿主机代理端口:容器端口,注:仅在--network=bridge模式下有效):

$ docker run -tid -p 58081:8081 -v /opt/apps:/opt/apps --privileged --name=wang-base-node --hostname=wang-base-node --network=bridge wang-centos7-base /usr/sbin/init

2.2.6 后台启动容器

$ docker start [containerID]

2.2.7 进入某个容器

$ docker exec -it [containerID] bash

2.3【自制镜像的导入和导出】

2.3.1 保存容器

$ docker commit [containerID] wang-centos7-base

2.3.2 导出镜像到本地文件

$ docker export [containerID] > wang-centos7-base.tar

2.3.3 导入本地镜像(:latest表示指定tag 可选)

$ docker import - wang-centos7-base:latest < wang-centos7-base.tar

2.3.4 宿主机与容器文件拷贝

$ docker cp [OPTIONS] srcPath containerID:destPath

$ docker cp [OPTIONS] containerID:srcPath destPath


2.4【Docker CentOS7 安装SSH】

2.4.1 安装passwd,openssl,openssh-server

$ yum install passwd openssl openssh-server -y

启动sshd:

[root@wang-centos7-base /]# /usr/sbin/sshd -D

这时报以下错误:

Could not load host key: /etc/ssh/ssh_host_rsa_key

Could not load host key: /etc/ssh/ssh_host_ecdsa_key

Could not load host key: /etc/ssh/ssh_host_ed25519_key

执行以下命令解决:

[root@wang-centos7-base /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''

[root@wang-centos7-base /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

[root@wang-centos7-base /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  -N ''

然后,修改 /etc/ssh/sshd_config 配置信息:

UsePAM yes 改为 UsePAM no

UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no

[root@wang-centos7-base /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config

[root@wang-centos7-base /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config

修改完后,重新启动sshd(注:此启动仅供测试sshd服务是否正常,重新创建容器时可显示指定启动参数,见1.2创建容器)

[root@wang-centos7-base /]# /usr/sbin/sshd -D > /var/log/sshd.log

目录
相关文章
|
11天前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
241 89
|
15天前
|
Ubuntu NoSQL 开发工具
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
149 70
|
1月前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
184 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
9天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
57 27
|
14天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
91 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
10天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
58 22
|
17天前
|
Ubuntu NoSQL 关系型数据库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
91 29
|
1月前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
54 3
docker push推送自己搭建的镜像
|
12天前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
158 93
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
270 77

热门文章

最新文章