Ubuntu Docker 从0到有创建容器、容器内搭建web服务、安装环境、映射端口、运行、存出、载入镜像(四)

20 篇文章 0 订阅

1. 制作容器:先拉取一个ubuntu静态容器

sudo docker pull ubuntu:16.04

输入docker images查看,显示如下:

root@instance-tbbjrcnc:/opt# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16.04               5e13f8dd4c1a        3 weeks ago         120MB

启动容器:(-p后面是端口映射,9084:8084意思是把容器内的8084端口,映射到宿主机的9084端口上)

root@instance-tbbjrcnc:/opt# docker run -i -t -p 9084:8084 ubuntu:16.04 
root@6a8ef33d88b5:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@6a8ef33d88b5:/# 

在容器内安装环境,创建web应用:(我创建了一个web目录,web下创建的工程,启动web服务器的8084端口)

root@82a9cef08f96:/# cd web/masterCloudweb/
root@82a9cef08f96:/web/masterCloudweb# python run_cloudweb.py
8084

此时,在浏览器输入http://宿主机IP:9084/

即可访问到docker里的8084端口显示的页面

到这里容器就完成了

2. 存出镜像:

docker save -o docker_maserweb.tar ubuntu:16.04

此时,会在当前目录下生成一个docker_maserweb.tar的文件,这个文件可以拷去任意服务器

3. 载入镜像:

docker load < docker_maserweb.tar 

运行:

docker run -i -t -p 8084:9084 docker/masterweb

即可在浏览器上输入http://宿主机IP:9084/访问了

常用命令:

#启动容器  宿主机端口号映射:容器端口
docker run -i -t -p 9084:8084 -p 9095:8085 docker/masterweb
#查看运行过的createId
docker ps
#运行过的createId实例保存镜像
docker commit createId ubuntu:16.04
#查看静态容器
docker images
#存出镜像
docker save -o docker_maserweb.tar ubuntu:16.04
#载入镜像
docker load < docker_maserweb.tar 
#docker 存出容器
docker export charming_rubin > docker_allweb06.tar
#docker 导入容器
docker import - docker_allweb:06 < docker_allweb06.tar
#查看运行中的docker容器
docker ps
#查看运行过的docker容器
docker ps -a
#进入正在运行过的容器中
docker attach 3e
#删除运行过的容器
docker rm XX
#停止容器
docker stop XX
#启动运行过的容器
docker start XX
#删除静态容器
docker rmi XX
#退出容器不杀掉进程
ctrl + p + q
#启动mysql
/etc/init.d/mysql start
#启动mongo
./usr/bin/mongod --config /etc/mongod.conf --fork
#关闭mongo
./mongod --shutdown --config /etc/mongod.conf --fork

 

附加报错修改:

1. 执行 docker load < debian_cloudweb02.tar 的时候

如果遇到报错:

open /var/lib/docker/tmp/docker-import-190220579/bin/json: no such file or directory

换成命令:cat debian_cloudweb02.tar |docker import - debian_cloudweb02

2. 执行 docker run -i -t -p 3307:3306 -p 9084:8084 debian_cloudweb02 报错

~/docker# docker run -i -t -p 3307:3306 -p 9084:8084 debian_cloudweb02
docker: Error response from daemon: No command specified.
See 'docker run --help'.

换成:docker run -i -t -p 3307:3306 -p 9084:8084 debian_cloudweb02 /bin/bash 只要在后面加上 /bin/bash即可

 

3.执行git attach containerID 时候报错

换成 docker exec -it containerID /bin/bash

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值