Docker 常用命令

 

docker中常用的命令:

1、docker search image_name:搜查镜像

2、docker pull image_name:从镜像库中拉去镜像

3、docker run image_name:运行容器

  --restart=always:容器退出后重新启动

  --name:自定容器名字

  --d:后台运行容器

  --i:交互模式

  --t:打开一个伪终端

  --v:将容器中某个文件(目录)影射到主机上的某个文件(目录)

  --p:将容器中的某个端口号影射到主机上的某个端口号

4、docker logs container:查看某个容器运行日志

5、docker (start | stop | restart) container:启动、停止、重启某个容器

6、docker rmi imager:删除某个镜像

7、docker rm container:删除某个容器

8、docker ps:查看运行的容器

  --a:查看所有容器

9、docker exec container bash:在容器中运行shell命令

  -i -t:进入容器的shell终端

10、docker build:通过Dockerfile构建一个镜像

  --t:镜像名称

  --rm=true:构建完成后,删除中间容器

    --no-cache=false:构建过程中不使用缓存

11、docker inspect container:查看容器低层信息

 

导入导出镜像:

  导入:docker load < /test/nginx.tar.gz

  导出:docker save nginx > /test/nginx.tar.gz

 

docker run -it -d --name web2 --link web1 -p 9092:80 nginx

--link:链接到web1这个容器


进入容器不退出
1、进入容器
docker run --name mydocker -it docker.io/centos /bin/bash
2、退出
3、启动容器
docker ps -a查询ID号
docker start ID号
4、获取Pid号
docker inspect --format "{{.State.Pid}}" 68e5c66ee5c9
5、进入容器而不退出【快捷操作:ctrl+p+q】
nsenter --target 19205 --mount --uts --ipc --net --pid 退出不停止运行容器
如果没有这个命令,需要安装util-linux包 nsenter

6、懒人写法
nsenter --target `docker inspect --format "{{.State.Pid}}" ID` --mount --uts --ipc --net --pid
docker 网络访问
docker run -P
-P 随机映射
-p hostport:containerPort
-p ip:hostPort:containerPort
-p ip::containerPort
-p hostPort:containerPort
-p hostPort:containerPort

数据卷管理

docker run -it --name node --rm -v /data centos bash 将系统根映射到容器data目录【可读写】

docker run -it --name node --rm -v /opt/:/opt/:ro centos bash 将系统opt目录映射到容器opt目录【ro表示只读】


docker
-v /data
-v /src:/dsrc
-v /src:/src:ro

容器的制作
docker commit -m "my nginx" f443e801f545 test/my-nginx:v1
Docker file 的方式构建docker镜像

FROM 他的妈妈是谁(基础镜像)
MAINTAINER 告诉被人,你创造了他(维护者信息)
RUN 你想让他干啥(把命令前面加上RUN)
ADD 相当于cp命令(COPY文件,会自动解压)
WORKDIR 相当于cd命令(当前工作目录)
VOLUME 给我一个放行李的地方(目录挂载)
EXPOSE 我要打开的门是啥(端口)
RUN 奔跑吧,兄弟!(进程要一直运行下去)

Dockerfile 案例
vim /root/docker/Dockerfile

# This is My first Dockerfile

#Base images
FROM centos

#维护者信息
MAINTAINER test

#添加文件
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src

#RUN
RUN yum -y install wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www

#WORKDIR
WORKDIR /usr/local/src/nginx-1.9.3

#RUN
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install

RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

ENV PATH=/usr/local/nginx/sbin:$PATH
EXPOSE 80

CMD ["nginx"]

运行Dockerfile
docker build -t nginx-file:v1 /opt/docker-file/nginx/
其他命令
docker run -it --rm stree --cpu 1
--rm 容器运行完即可删除
--cpu 指定分多少颗CPU

 

PS:docker pull nginx后,需要在nginx.conf中添加daemon off; 意为不允许nginx后台运行,因为docker不支持。

 

转载于:https://www.cnblogs.com/cpw6/p/9509975.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值