场景一:为IT部程序员提供一台可以远程(ssh)的centos7容器
方案步骤:
1)下载centos7
2)docker run -d --name=ssh-centos 镜像ID /usr/sbin/sshd -D
实现过程:
1)拉取centos7镜像
docker pull centos:7
2)以交互界面运行centos7容器,
docker run -itd --name=ssh-centos centos:7 /bin/bash
3)进入容器,安装sshd服务
docker exec -it ssh-centos /bin/bash
4)检查容器网络,安装源能否安装软件
ping www.baidu.com
5)在容器里安装 sshd服务
yum install openssh-server openssh-clients -y
6)为容器制作远程ssh私钥
sshd-keygen
7)为容器root设置密码,比如1
passwd root
输入密码:1
8)手动运行sshd服务,保持运行-D
/usr/sbin/sshd -D
9)不中断退出容器
ctrl+p , ctrl+q, 或者新开一个docker远程界面
10)测试:用docker服务器远程此容器
先查看容器ip
docker inspect 容器id
比如看到ip是172.17.0.2
ssh root@172.17.0.2
11)用该容器创建镜像
docker commit 容器id 新镜像名称
例:docker commit 341 ssh:v1
投入生产使用
使用远程镜像,创建可远程容器
docker run -d -p 30:22 --name=jay-centos ssh:v1 /usr/sbin/sshd -D
测试:新开远程,输入docker服务器ip,以及相关映射端口
使用dockerfile构建镜像
1.新建目录,比如/root/ssh
mkdir /root/ssh
cd /root/ssh
2.编写dockerfile
vi Dockerfile
FROM centos:7
RUN yum install openssh-server openssh-clients -y && sshd-keygen
RUN echo "1" |passwd --stdin root
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
3.使用docker构建镜像
cd /root/ssh
docker build -t ssh:v2 .
4.查看镜像
docker images
5.运行容器
docker run -d -p 40:22 --name=dockerfile-centos ssh:v2 /usr/sbin/sshd -D
使用Dockerfile构建apache镜像
1)新建目录http,进入目录
mkdir /root/http
cd /root/http
2)编辑dockfile
vi Dockerfile
FROM centos:7
RUN yum install httpd -y
VOLUME ["/var/www/html"]
EXPOSE 80
CMD ["/usr/sbin/httpd","-DFOREGROUND"]
3)构建apache镜像
docker build -t http:v1 .
4)运行http容器
docker run -d -p 8808:80 --name=http-doc http:v1
5)访问网页:http://docker服务器:8808
6)查看该容器所绑定的数据卷在哪
docker inspect http-doc |grep volume
7)修改网页内容(修改数据卷的内容),新增主页文件index.html
cd /var/lib/docker/volumes/cd6d7fe05a2dd9faf4b4411072f7699d06018bb628f4596e0dd06c82b32ade68/_data"
vi index.html
hello