Docker使用-基础

12 篇文章 0 订阅

1、构建docker镜像

# Docker for CentOS 7

#Base image
FROM centos:7

#Who
MAINTAINER ShiManQiang "shimanqiang@huizhaofang.com"

#更换repo镜像源-替换为网易的镜像源
ADD CentOS7-Base-163.repo /etc/yum.repos.d/CentOS7-Base-163.repo
#RUN cd /etc/yum.repos.d && mv CentOS-Base.repo CentOS-Base.repo.bk && wget http://mirrors.163.com/.help/CentOS7-Base-163.repo && yum update && yum clean all && yum makecache
#生成缓存
RUN yum update && yum makecache

#基本软件
RUN yum install -y openssh-clients openssl-devel openssh-server wget supervisor git tree net-tools sudo psmisc && yum clean all
#RUN yum install -y mysql-devel redis && yum clean all

#给root创建密码密码
RUN echo "root:root123" | chpasswd

# 添加测试用户hfqtest,密码hfqtest,并且将此用户添加到sudoers里  
RUN useradd hfqtest  
RUN echo "hfqtest:hfqtest" | chpasswd  
RUN echo "hfqtest   ALL=(ALL)       ALL" >> /etc/sudoers

# For SSHD
#将sshd的UsePAM参数设置成no
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

# 启动sshd服务并且暴露22端口  
RUN mkdir /var/run/sshd  
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"] 

2、执行构建命令

docker build -t hfq/centos:7 .

说明:-t 代表 tag ; . 表示Dockerfile的目录
其中CentOS7-Base-163.repo
下载地址:http://mirrors.163.com/.help/CentOS7-Base-163.repo
内容参考文字最后

3、查看构建成功的docker镜像

docker images

4、运行该镜像

# -d后台进程 -P随机端口 –name给容器起名字
docker run -d -P --name test-centos7-ssh hfq/centos:7

5、SSH登录(方式一)

# 查看当前启动容器IP地址
docker inspect test-centos7-ssh
# 结果: “IPAddress”: “192.168.42.4”
# SSH登录命令 ssh [User]@[IP]
ssh hfqtest@192.168.42.4

5、SSH登录(方式二)

# 可以通过docker的端口映射来访问, 使用“sudo docker port test-centos7-ssh 22”查看当前容器的22端口对应的宿主机器的端口,然后通过下面的命令来访问 (docker ps也可以欧)
docker port test-centos7-ssh 22 ### 0.0.0.0:32768
# ssh hfqtest@<宿主机器IP> -p <宿主机器端口>
# SecureCRT登录测试:hfqtest-47.93.114.117-32768

参考:CentOS7-Base-163.repo

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值