docker

container(容器)

docker(集装箱)

容器的优点

1、 启动速度快

2、 节省资源

兼容性高

 

启动docker

# systemctl start docker

设置开机自启动

# systemctl enable docker

查看本地镜像

# docker images

查询具体的镜像(centos),默认去docker官方网站repository仓库里面查找

# docker search centos

再例如查找mysql镜像

# docker search mysql

下载镜像,速度慢,从国外网站下载

不建议使用

#docker pull centos

# docker pull daocloud.io/centos:7

创建一个镜像

如果要使用镜像的话,repository+tag才是一个完整的名字

如果没有指定tag的话,则默认为latest

# docker tag daocloud.io/centos:7 centos

删除一个镜像

docker rmi 镜像名

# docker rmi daocloud.io/centos:7

查看正在运行的容器

# docker ps

查看所有容器

# docker ps -a

创建、运行一个容器

# docker run --name node1 -h nodex -d -i -t centos /bin/bash

-i(进行一种交互式)

-t(提供模拟终端)

-d(创建容器之后不自动进入容器)

-p:(端口映射,格式为:主机(宿主)端口:容器端口

-h(指定容器的hostname)

--name (容器名)或者--name=容器名

restart=always(时刻启动,开机自启动)

注意:docker一次,只能运行一个服务

退出容器

#exit

如果容器上不了网,则开启物理机的转发功能(临时开启,写入内存,在内存中开启)

# echo 1 > /proc//sys/net/ipv4/ip_forward

开启容器

docker start 容器名

# docker start e763c37cbe91

关闭容器

docker stop 容器名

#docker stop node3

进入容器

docker attach 容器名

docker exec -i -t 容器名 bash

# docker attach e763c37cbe91

# docker exec -it node1 bash

attach和exec进入容器的区别:

创建容器时后面没有/bin/bash

# docker run -i -t -d -h nodev --name node2 centos 

能进入容器

# docker attach node2

不能进入容器

# docker exec -it node2 bash

创建容器时后面有/bin/bash

能进入容器

# docker attach node3

能进入容器

# docker run -i -t -d -h nodec --name node3 centos /bin/bash

当我exit退出容器之后,发现活动的容器没有了

解决办法

创建容器的时候加

restart=always(时刻启动,开机自启动)

也可以后期补救

docker update docker参数 容器名

# docker update --restart=always node2

删除一个容器

docker rm 容器名

# docker rm e

不进入容器,在某个容器执行特定命令,适合写脚本用

docker exec 容器名 '命令'

# docker exec node1 'ifconfig'

用-v挂载主机数据卷到容器内
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
这种方式的缺点是只能在容器刚刚启动的情况下进行挂载

创建一个目录用于映射

# mkdir /data

# cp /etc/passwd /etc/services /etc/hosts /data

/data(物理机):/xx(容器)

# docker run -v /data:/xx --name=node4 -h nodea --restart=always -i -t centos /bin/bash

查看所有对应关系

docker inspect 容器名

# docker inspect node4

查看具体某个对应关系

# docker inspect node4 | grep -i -A10 mount

转载于:https://www.cnblogs.com/djlsunshine/p/10182104.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值