教你怎么半天搞定Docker
首先,不要把docker想的那么高大,它不就是先做个镜像,然后通过docker像虚拟机一样跑起来嘛...docker其实在真实业务场景中还是非常有局限性的。Dockerfile脚本也没那么好写,有些应用也没有那么好安装。
废话不多说,教你半天搞定docker!
安装依赖和docker
安装docker,不建议直接使用Docker官方的yum install docker
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.6-1.el7.centos.x86_64.rpm
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
yum localinstall -y docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm docker-engine-1.12.6-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
开机启动项
systemctl enable docker
启动docker
service docker start
搜索公开容器镜像
docker search centos6.6
支持模糊搜索,但不要想着公开的容器有多好,适合公司业务的还是需要自己搭建。
NAME DESCRIPTION STARS OFFICIAL AUTOMATED liangtong/centos6.6-httpd 2 incu6us/centos6.6-with-nginx Wav server for FreeCall 0 [OK] eliezio/centos6.6-devtoolset2-gtest Docker image based on Centos 6.6 suitable ... 0 [OK] chrisgeorge/centos6.6-py2.6 CentOS 6.6 with Python 2.6 0 [OK] leonion/centos6.6 centos6.6 0 heilee/centos6.6 0 karthi12345/centos6.6 0 kalramain/centos6.6-mysql55 mysql5.5 installed on centos6.6 0
加载镜像容器
docker pull chrisgeorge/centos6.6-py2.6<NAME>
试运行
docker run -i -t chrisgeorge/centos6.6-py2.6 /bin/bash
docker run -it
这样就交互登录到你预先设计好的容器里面去了
安装应用
yum install openssh-server
#需要修改/etc/ssh/sshd_config文件中内容
PermitRootLogin yes
UsePAM no
ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
mkdir /var/run/sshd
passwd 登录密码
/etc/init.d/sshd start
更新镜像
docker commit ID <name>
删除镜像
# docker rmi <neme>
docker rmi -f
启动
docker run -d -p 22 -p 8022:8000 chrisgeorge/centos6.6-py2.6 /usr/sbin/sshd -D
--restart=always 自动重启(始终)
将容器8000端口映射到docker服务器8022端口,将容器22端口随机映射端口
[root@SERVER docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0c65edbc3f3d wy "/usr/sbin/sshd -D" 22 minutes ago Up 22 minutes 0.0.0.0:32769->22/tcp, 0.0.0.0:8022->8000/tcp mad_poitras
备份镜像
docker save chrisgeorge/centos6.6-py2.6 >/root/docker-pmd.tar
还原镜像
docker load < /root/docker-pmd.tar
想跑起来镜像,就必须每台机子装有docker。
Dockerfile
脚本:/home/docker/Dockerfile
FROM chrisgeorge/centos6.6-py2.6 #继承的父容器 MAINTAINER wonter #作者 RUN yum install nginx #在新的容器里安装nginx RUN echo "root:root" | chpasswd #设置密码 EXPOSE 22 #设置端口 CMD /etc/init.d/nginx start #启动服务
# docker build -t wonter .
#删除docker历史容器
docker ps -a -q | xargs docker rm
-v 挂载没有权限
su -c "setenforce 0"
加微信:wonter 发送:技术Q
医疗微信群:
加微信:wonter 发送:医疗Q
更多文章关注公众号:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】