[ruby on rails] docker中使用rails

本文详细介绍了如何在Docker环境下安装和使用Rails,包括Docker的安装、镜像管理、容器操作、Volume使用、Dockfile与docker-compose.yml的制作,以及在生产环境中运用和推送AWS仓库的步骤。
摘要由CSDN通过智能技术生成

1. docker安装

  • ubuntu14.04后自带docker安装包,可以直接安装
 sudo apt-get update
 sudo apt-get install -y docker.io
 # 安装后启动
 sudo service docker start
  • 查看docker信息
docker info
docker命令
sudo service docker start
sudo service docker stop
sudo service docker restart
sudo service docker status

systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务
systemctl enable docker  # 开启自动开启docker服务
systemctl status docker # docker服务的状态

2. 镜像images

获取镜像
docker pull ubuntu:12.04
  • 该命令实际上相当于 $ sudo docker pull registry.hub.docker.com/ubuntu:12.04 命令,即从注册服务器 registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 12.04 的镜像。

有时候官方仓库注册服务器下载较慢,可以从其他仓库下载。 从其它仓库下载时需要指定完整的仓库注册服务器地址。例如

docker pull dockerproxy.com/library/ubuntu:12.04
导出镜像

镜像构建完成后,需要将镜像导出成.tar格式的压缩包,命令为:

docker save beauty > beauty.tar
导入镜像
  • 导出后,使用filezilla将.tar文件拷贝至政务云服务器任意位置,然后定位到该目录下将镜像导入,命令为:
docker load < beauty.tar
删除镜像
  • 如果要移除本地的镜像,可以使用 docker rmi 命令。注意 docker rm 命令是移除容器
docker rmi ubuntu:16.04
docker rmi ubuntu:16.04 --force
批量删除镜像
docker images | grep "<none>" | awk '{print $3}' | xargs docker rmi

3. 容器CONTAINER

新建并启动容器
sudo docker run ubuntu:14.04 /bin/echo Hello world
sudo docker run -it ubuntu:14.04 /bin/bash
docker run -p 8000:3000 -it koa-demo /bin/bash
docker run -it -p 3002:3000 --name qlyweb prod:0.1 rails s -b 0.0.0.0
docker run -d -p 3002:3000 --name qlyweb prod:0.1   # 把启动命令写到dockerfile中的CMD
docker exec -it ubuntu:14.04 bash   # 进入容器
  • -p参数:容器的 3000 端口映射到本机的 8000 端口。
  • -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
  • koa-demo:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。
  • /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。
启动、重启、终止容器
sudo docker start ubuntu:14.04 
sudo docker restart ubuntu:14.04 
sudo docker stop ubuntu:14.04 
删除容器
 docker rm xxx
  • 要删除所有的 Docker 容器,你可以使用:
docker rm $(docker ps -aq)
# 这个命令做了以下两件事:

# docker ps -aq 列出所有的容器 ID
# docker rm 删除一个或多个容器
  • 你也可以组合过滤器来删除特定类型的容器:
 # 删除全部已退出容器
 docker rm $(docker ps -aq -f status=exited)
 docker ps -a |grep 'Exited' |awk '{ print $1}' |xargs docker rm
 # 删除全部临时容器
 docker rm $(docker ps -aq -f status=created)

查看容器对外IP

  • 不进容器
docker inspect -f '{
    {.Name}} => {
    {.NetworkSettings.IPAddress }}' $(docker ps -aq)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值