docker免sudo及常用操作

安装docker:

wget -qO- https://get.docker.com/ | sh

每次使用docker命令时都需要在前面加上sudo并输入密码,我们可以用下面的方法免sudo使用Docker:

如果还没有 docker group 就添加一个:

sudo groupadd docker

ubuntu下,通过一下命令来看有没有group

cat /ect/group

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a ${USER} docker

重启 docker 服务

sudo service docker restart

group 或者重启 X 会话

newgrp - docker
或者
pkill X

注意,最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

 

 

使用docker create [image-name] 创建一个容器

创建一个nginx镜像的容器,由于没有指定各项参数,容器实用默认参数,创建后并不会启动,并将容器的ID输出到终端,如果本地没有镜像,将从网络下载镜像。

docker create nginx

使用docker run [image-name] 创建一个容器并运行该容器

创建一个nginx镜像的容器,由于没有指定各项参数,容器实用默认参数,创建并启动运行,并将容器的ID输出到终端,如果本地没有镜像,将从网络下载镜像。但是请使用-d 参数,让容器运行在后台,不然该终端将会被占用无法使用

docker run -d nginx

实用docker ps -a 命令查看当前docker创建的容器,并显示运行状态

docker ps -a

获取Docker容器名称

docker ps --format "{{.Names}}"

启动一个创建好的或者被停止的容器

启动容器  docker start [container id] 

停止、启动、杀死、重启一个容器

docker stop [container id] 
docker start [container id] 
docker kill [container id] 
docker restart [container id] 

删除容器

docker rm [container id] 

删除全部容器:docker rm $(docker ps -a -q)

删除镜像

docker rmi [image id]

删除全部镜像 :docker rmi $(docker images -q)

创建容器的参数

OPTIONS说明
-a stdin指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d后台运行容器,并返回容器ID
-i以交互模式运行容器,通常与 -t 同时使用
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name="nginx-lb"为容器指定一个名称
--dns 8.8.8.8指定容器使用的DNS服务器,默认和宿主一致
--dns-search example.com指定容器DNS搜索域名,默认和宿主一致
-h "mars"指定容器的hostname
-e username="ritchie"设置环境变量
--env-file=[]从指定文件读入环境变量
--cpuset="0-2" or --cpuset="0,1,2"绑定容器到指定CPU运行
-m设置容器使用内存最大值
--net="bridge"指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
--link=[]添加链接到另一个容器
--expose=[]开放一个端口或一组端口

-it

-it 参数一般连用,在docker run 启动一个容器后提供一个容器的终端,如果容器中没开启shell进程,也无法对容器进行交互

docker run -it centos

退出容器请使用CTRL + D ;CTRL + C 只会发送给容器的shell,不会退出容器

--name="container name"

--name 将会为容器指定一个名称,没有这个参数,容器的名称将由系统分配

docker create --name="centos-1" centos

-p

-p 参数将一个docker主机的端口映射到容器中

-v 挂载数据卷

将本地文件/root/pan1/pan.txt 挂载到容器/etc/resolv.conf

docker run -d --name web-1 -v /root/pan1/pan.txt:/etc/resolv.conf nginx

将本地目录/root/pan1挂载到容器/etc/pan1 下

docker run -d --name web-2 -v /root/pan1:/etc/pan1 nginx

创建一个数据卷,数据卷不会随着容器被删除而被删除

docker create -v /shiyanloudata --name shiyan -it centos

数据卷可以被多个容器共享,容器挂载其他容器的数据卷

docker run --volumes-from shiyan --name web12345 -d nginx

查看容器的信息

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

查看指定的信息使用-f参数:

  1. [root@docker ~]# docker inspect -f {{.LogPath}} web12345

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值