最近自己在学习Docker方面的知识,一是因为公司这边也在用Docker,自己不会,每次都去请教别人总显的很麻烦,自己学会了总算一门技术。并且学习微服务我们总是需要用到容器技术,在这个快速发展的路上,我们还是有必要去学习尝试的。
现在关于基础命令的学习已经算全部完成,但是总体还是说只是了解,还不能达到熟练的目的,并且容器知识还有很多需要去融会贯通的。那么我们就开始实战练习,去掌握这些技术。实战操作也会形成一个系列来写,也是自己的操作过程。希望我们在实战操作后都能顺利的掌握住这门技术。
使用commit命令创建一个新的容器
我们是建立一个ubuntu的容器。
首先搜索下ubuntu的
docker@ubuntu:~$ docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 8309 [OK] dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 213 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 170 [OK]
在这里我们也可以使用docker pull ubuntu 拉取新的版本ubuntu容器。在执行我们的run,但是run在操作的时候会首先检查下是否存在本地镜像,不存在就直接去仓库拉取新的镜像,我们就直接操作镜像即可,并且操作上加上/bin/bash 在运行后直接进入容器里面。
docker@ubuntu:~$ docker run -it --name myubuntu ubuntu /bin/bash Unable to find image 'ubuntu:latest' locallylatest: Pulling from library/ubuntu124c757242f8: Pull complete 2ebc019eb4e2: Pull complete dac0825f7ffb: Pull complete 82b0bb65d1bf: Pull complete ef3b655c7f88: Pull complete Digest: sha256:72f832c6184b55569be1cd9043e4a80055d55873417ea792d989441f207dd2c7Status: Downloaded newer image for ubuntu:latest root@61c5b26e974e:/# apt-get update Get:1 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]Get:3 http://security.ubuntu.com/ubuntu bionic-security/universe Sources [17.4 kB]
因为我们只是用来创建自己的ubuntu容器 可能需要操作其他的内容,所以我在本地容器中增加了vim操作命令,然后退出容器进行提交
root@61c5b26e974e:/# apt-get install vim root@61c5b26e974e:/# exit
执行提交命令将容器保存为一个新的ubuntu镜像。
docker@ubuntu:~$ docker commit myubuntu myubuntu:latest sha256:494bbb7b88af3e761a976facefa3a276cb3908cc4dac98abcdb3f91d0cb19e63
使用DockerFile创建需要的容器
创建需要的文件与脚本文件 然后通过DockerFile文件映射到容器中
docker@ubuntu:~/Desktop/sshd_ubuntu$ touch Dockerfile run.sh docker@ubuntu:~/Desktop/sshd_ubuntu$ ll total 8drwxr-xr-x 2 docker docker 4096 Sep 2 05:43 ./ drwxr-xr-x 4 docker docker 4096 Sep 2 05:42 ../ -rw-r--r-- 1 docker docker 0 Sep 2 05:43 Dockerfile -rw-r--r-- 1 docker docker 0 Sep 2 05:43 run.sh docker@ubuntu:~/Desktop/sshd_ubuntu$ vim run.sh
写DockerFile文件内容
# 设置继承镜像FROM ubuntu:14.04# 提供一些作者的信息MAINTAINER from frq# 下面是开始运行的命令 RUN echo "deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" > /etc/apt/sources.listRUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse"> /etc/apt/sources.listRUN apt-get update#安装ssh服务RUN apt-get update RUN apt-get install -y openssh-server RUN mkdir -p /var/run/sshd RUN mkdir -p /root/.ssh#取消pam限制RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd#复制配置文件到响应的位置,并执行脚本可执行权限ADD authorized_keys /root/.ssh/authorized_keys ADD run.sh /run.sh RUN chmod 755 /run.sh#开放端口EXPOSE 22#设置自启动命令CMD ["/run.sh"]
最后一步 我们将内容打包成docker文件,最后使用命令查看下即可
docker@ubuntu:~/Desktop/sshd_ubuntu$ docker build -t sshd:dockerfile . docker@ubuntu:~/Desktop/sshd_ubuntu$ docker images ''REPOSITORY TAG IMAGE ID CREATED SIZE sshd dockerfile 5abaa0c085ab 37 seconds ago 251MB
作者:LuckQI
链接:https://www.jianshu.com/p/85bee20474a1
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦