docker使用的日常命令

    • 用已有的镜像运行一个容器
    • 2、关attach和exec进入容器的区别
      • 两种进入容器的方法
      • stop/kill/start/restart容器
    • image和container修改和保存位置

用已有的镜像运行一个容器

方法一

docker run --net host --name selenium -it pimuzzo/selenium-python-xvfb /bin/bash
selelnium //容器名
pimuzzo/selenium-python-xvfb //镜像名
--net host //为了让容器可以上网

方法二

以bash模式进入正在运行的docker

sudo docker exec -it containerName bin/bash

查看容器状态, 找到要启动容器的ID

docker ps -as

启动容器

docker start 容器id/names

2、关attach和exec进入容器的区别

参考链接如下docker容器运行和资源限制
docker学习的好资料http://www.runoob.com的docker学习教程

两种进入容器的方法

我们经常需要进入到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:
1,docker attach
通过docker attach可以attach到容器启动命令的终端

2,docker exec
通过docker exec进入相同的容器,-it指定以交模式打开,执行exit退出容器,回到docker host

3,attach和exec的区别:

attach直接进入容器启动命令的终端,不会启动新的进程。
exec则是在容器中打开新的终端,并且可以 启动新的进程。
如果想直接在终端查看启动命令的输出,用attach,其他情况使用exec。
如果只是为了查看启动命令的输出,可以使用docker logs命令。

stop/kill/start/restart容器

通过docker stop可以停止运行的容器,容器在docker host中实际上是一个进程,如果想快速停止容器,可使用docker kill命令。

对于处于停止状态的容器,可以通过docker start重新启动。
docker start会保留容器的第一次启动的所有参数。即如果你是通过docker run -d以守护进程的形式启动容器,你stop后start容器,容器还是会以守护进程的形式运行。

docker restart可以重启容器,期作用就是依次执行docker stop和docker start。

容器可能会因某种错误而停止运行。对于服务类容器,我们通常希望在这种情况下容器能够自动重启。启动容器时设置–restart就可以达到这个效果。
–restart=always,意味着无论容器因何种原因退出(包括正常退出),都立即重启,该参数的形式还可以是–restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。

image和container修改和保存位置

默认情况下Docker的存放位置为:

/var/lib/docker

一般根下分区我们不会给太大。镜像和容器越存越多一般我们有两种解决方法
1、挂载大分区到/var/lib/docker:

一般选择建立逻辑分区lvm,方便后期扩展集体。我是指玩玩,没有用到LVMz,这个服务器上必用一个。
可以参考这个链接修改docker镜像,容器存放位置。
2、修改镜像和容器的存放路径:
本人就是用这种方法的。
很简单,指定镜像和容器存放路径的参数是–graph=/var/lib/docker。先关操作

sudo df -h //可以看到个么目录下面的可用空间大小,已经使用多少等等

可用看出来/home是友最大的空间,所以我这样做。

//在各个操作系统中的存放位置不一致,
//在 Ubuntu 中的位置是:/etc/default/docker,
//在 CentOS 中的位置是:/etc/sysconfig/docker。
service docker stop //停掉docker服务
我是ubuntu我就只加添加 OPTIONS=--graph="/home/dockerpath/docker" -H fd://
sudo vim /etc/default/docker
sudo cp -r /var/lib/docker /home/dockerpath/docker/ 
sudo shutdown -r now //重启 
sudo df -h //看到之前的var/lib/docker没有了

 正在加载中请等待

你可能感兴趣的:(docker)