Docker基本容器和镜像安装
好久没更新了,前段时间在想要不要去icp备案网站,但是先等备案过的人告诉我一个月过公安备份会不会来催再去备案吧()。
个人博客:kana.chat:90
这两天在学习Docker,刚刚入门,在看一本叫做《第一本Docker书》的书,里面虽然案例有点老,不过还是不错的。
切入正题
安装Docker容器、镜像
安装docker:
yum -y upgrade
curl -sSL https://get.docker.com/ | sh (官方)
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - (阿里云)
启动docker
sudo service docker start
一些常见命令:
sudo docker info 查看容器信息
sudo docker images 查看所有镜像
sudo docker rm 容器名 删除容器
sudo docker rmi 镜像名或者id 删除镜像
其余的类似查看docker状态或者push 镜像就不一一列举了,
可以用docker --help查看。
使用docker启动一个简单的webapp
首先是构建镜像
sudo docker build -t kana/sinatra .
给出Dockerfile(kana/sinatra)
FROM ubuntu:18.04
LABEL maintainer=“kana@example.com”
ENV REFRESHED_AT 2014-06-01
RUN apt-get update && apt-get -y install ruby ruby-dev build-essential redis-tools
RUN gem install --no-rdoc --no-ri sinatra json redis
RUN mkdir -p /opt/webapp
EXPOSE 4567
CMD [ “/opt/webapp/bin/webapp” ]
注:镜像构建时apt-get update可能出现一些问题,可以设置环境变量
参考文章:https://www.cnblogs.com/surplus/p/11580707.html
之后可以从书本作者的仓库clone下需要的源码:
git clone https://github.com/turnbullpress/dockerbook-code.git
对应的代码位置:
根目录新建sinatra,之后将webapp源码cp -r进sinatra即可,之后启动镜像。
sudo docker run -d -p 4567 --name webapp -v $PWD/webapp:/opt/webapp kana/sinatra
效果截图:
可以用一些命令来查看日志,查看进程,也可以使用htop查看
sudo docker logs webapp
sudo docker top webapp
根据pid和ppid很容易找到对应进程。
测试接口:
拓展Sinatra
在上面给出的git地址中,拿出redis和webapp_redis文件夹来进行操作。
让webapp_redis可执行
chmod +x webapp_redis/bin/webapp
首先使用redis的Dockerfile来进行镜像制作
FROM ubuntu:18.04
LABEL maintainer=“james@example.com”
ENV REFRESHED_AT 2014-06-01
RUN apt-get -qq update && apt-get -qq install redis-server redis-tools
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server" ]
CMD []
build 镜像 以及启动redis镜像
sudo docker build -t kana/redis
sudo docker run -d -p 6379 --name redis kana/redis
查看端口
sudo docker port redis 6379
在连接前如果redis.conf配置是默认的,则需要更改
连接测试
内部连网:
sudo docker net create app
链接
(记得更改镜像名称,不一 一展示)
容器连接成功