码迷,mamicode.com
首页 > 其他好文 > 详细

docker简单使用和遇到的坑

时间:2018-03-23 11:44:35      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:ash   tag   环境   根据   apr   检测   pre   nss   sys   

安装环境: alios7.2 

安装:

1安装源

# yum install epel-release –y
# yum clean all
# yum list

2:安装docker

# yum install docker-io –y
# systemctl start docker

3:检查docker

# docker info

4启停查看

# systemctl start docker     #运行Docker守护进程
# systemctl stop docker      #停止Docker守护进程
# systemctl restart docker   #重启Docker守护进程

使用

1创建dockerfile

FROM reg.docker.alibaba-inc.com/alibase/alios7u2:latest #这里是使用alios作为基础镜像

#下载一个yum源
RUN yum clean all
RUN yum install -y python-devel mysql-devel zlib-devel opnssl-devel
RUN rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum makecache

#下面部分是docker启动后会运行的命令
CMD systemctl start nginx
CMD systemctl start redis
CMD rabbitmq-server start

2:根据daockerfile创建daocker镜像

docker build <path> #path代表dockerfile所在的文件夹路径

3:

基础命令 sudo docker images

技术分享图片

这一条是查看当前设备宿主机中有几个docker 镜像 当然这些是没有启动

repository 代表docker的名字

tag 代表当前版本号

image id 代表当前宿主机内镜像的唯一id

created 代表创建了多久了

size 代表镜像的大小

基础命令 sudo docker ps 

技术分享图片

查看当前正在运行的docker

container id 代表运行中的唯一id

4:

启动命令

需要知道docker images id

sudo docker run -d -p 宿主机端口:docker端口 -p 宿主机端口2:docker端口2 -p 宿主机端口3:docker端口3<docker image id> /usr/sbin/init

这里的/usr/sbin/init 是为了开启之后可以使用systemctl方法

5:

进入docker容器中

docker exec -i -t <docker_name>  bash

 为什么要用bash呢 因为bash后 里面的是彩色的呀,因为好看呀

6:daocker上传这个可以找一个dockerhub看看

7:

从主机复制到容器

sudo docker cp host_path containerID:container_path

sudo docker cp 我是宿主机的路径   docker ps能够看到的id:我是容器中的路径

从容器复制到主机

sudo docker cp containerID:container_path host_path

sudo docker cp  docker ps能够看到的id:我是容器中的路径 我是宿主机的路径

启动一个容器

? sudo docker start <docker_name>

停止一个容器

? sudo docker stop <docker_name>

删除一个容器

sudo docker rm <docker_name>

通过docker的docker <image id> 删除容器

? sudo docker rmi -f <image id>>

 

8:问题

为什么我们在安装好docker.io启动的时候启动不起来

首先确认是否是阿里云的ecs中安装docker

如果是的 可以route查看是否使用了172.16.0.0网段 如果有那么删除了

技术分享图片

虽然不知道为啥 阿里ecs出现这个问题但是删了之后systemctl start docker之后应该就可以了

注意事项

dockerfile中的cmd命令通常在build的时候是检测不出来错误的

但是当你run的时候发现docker ps 没有起来

是不是很蒙逼, 你可以docker ps -a 来查看所有的 

然后在docker logs containerID

 

 

在就没啥 要说的

有啥要说的我会补充

 

docker简单使用和遇到的坑

标签:ash   tag   环境   根据   apr   检测   pre   nss   sys   

原文地址:https://www.cnblogs.com/935415150wang/p/8628822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!