Docker 基础
一、阿里云加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://v87slnil.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker pull registry.cn-shenzhen.aliyuncs.com/centos_7/centos7
一、镜像重名
docker images #查看镜像
docker tag IMAGE new_name #打包镜像
docker rmi repository_name #删除旧的镜像
一、安装SSH
docker run -itd -p 8003:22 -v /data/soft:/data centos7 /bin/bash
-p 端口映射
-v 挂载目录
-itd 交互,分配输入终端,返回容器ID
docker attach 容器ID #进入容器交互界面
#安装ssh
yum install passwd openssl openssh-server -y
#生成钥匙
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ' '
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
#设置
是否让 sshd(8) 通过创建非特权子进程处理接入请求的方法来进行权限分离。默认 值是"yes"。认证成功后,将以该认证用户的身份创建另一个子进程。
这样做的目的是为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
#启动sshd
passwd root
/usr/sbin/sshd -D &
二、容器打包新镜像
docker stop 容器ID #先停止容器
docker commit 98e73e50242f centos7-ssh:tag
docker save -o 名字.tar 容器名:tag #导出镜像
docker load -i xxx.tar #导入镜像
三、监控容器
#查看正在运行的容器
docker ps
#查看容器日志
docker logs
#查看容器内的进程
docker top 容器
#查看容器详细信息
docker inspect 容器
四、容器build
docker build -t 名字:tag .
build ssh
[root@num-03 docker]# cat Dockerfile
FROM centos:7
RUN mkdir /var/run/sshd
RUN yum install passwd openssl openssh-server -y
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
RUN sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
RUN echo 'root:root' | chpasswd
RUN \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD run.sh /root
RUN chmod +x /root/run.sh
EXPOSE 22
CMD ["/root/run.sh"]
[root@num-03 docker]#
docker run -itd -p 8003:22 --name ssh ssh:v1 (不能使用docker attach进去)
ssh -p 8003:22 IP