docker 返回错误信息与本地不一致_Docker基本配置及常用命令

基本命令

启动Docker

systemctl start docker

查看Docker版本

docker --version

查看Docker信息

docker info

查看本地镜像

docker images

删除本地镜像

docker rmi  [镜像名称/镜像ID]

如果删除镜像报错,提示包含子镜像,错误信息如下,那么使用如下命令删除

错误信息:unableto delete 2302766b9032 (cannot be forced) - image has dependent child images

docker rmi [镜像名称]:[Tag]   

docker rmi guanwang_centos:latest

下载centos7镜像

docker pull centos等同于:docker pull centos:latest也可指定版本:docker pull centos:7.2.1511

进入docker中的CentOS7

docker run -itcentos /bin/bash

容器命名(名称必须唯一)

docker run --name [容器名称需要保证唯一] -it 6866/bin/bash

centos是镜像名称,也可以是 IMAGE ID, IMAGE ID只需要前四位数字-能区分出是哪个image即可,不需要输入全。登录成功后接下来就和我们之前在没使用docker时的centos操作一样。

端口映射

docker run-p10022:22 -it centos/bin/bash

 多端口映射

docker run -d-p10022:22 -p8080:80 -it centos/bin/bash

 后台运行

docker run -d-p10022:22 -it centos/bin/bash

-d参数:容器在后台以守护进程运行。

-p参数:容器的 22端口映射到本机的 10022端口。

-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。

root@b4ad1d1c87da/]#

docker run -d-p1022:22 -p8090-8099:8090-8099 -itcentos /bin/bash

容器命名

docker rename old_name new_name

查看本机正在运行的容器

docker container ls或docker ps

查看本机所有容器,包括停止的容器

docker container ls --all或docker ps -a

关闭正在运行的容器

docker kill [容器ID]

删除容器(注意删除的为容器不是镜像)

docker rm [容器ID]

退出当前容器

exit;

dockercontainerrun命令是新建容器,每运行一次,就会新建一个容器。同样的命令运行两次,就会生成两个一模一样的容器文件。如果希望重复使用容器,就要使用dockercontainer start命令,它用来启动已经生成、已经停止运行的容器文件。

docker start  [容器ID]docker stop  [容器ID]

dockercontainer logs命令用来查看 docker 容器的输出,即容器里面 Shell 的标准输出。如果dockerrun命令运行容器的时候,没有使用-it参数,就要用这个命令查看输出。

docker logs [容器ID]

dockercontainer exec命令用于进入一个正在运行的 docker 容器。如果dockerrun命令运行容器的时候,没有使用-it参数,就要用这个命令进入容器。一旦进入了容器,就可以在容器的 Shell 执行命令了。

docker exec -it [容器ID] /bin/bashdocker exec -it oracle11g bash

dockercontainer cp命令用于从正在运行的 Docker 容器里面,将文件拷贝到本机。下面是拷贝到当前目录的写法。

docker cp[容器ID]:[容器内文件路径] [本机路径]

停用全部运行中的容器

docker stop$(docker ps -q)

删除全部容器

docker rm$(docker ps -aq)

将容器提交到镜像(newImageName为新镜像的自定义名称)

docker commit [容器ID] [自定义镜像名称]

挂载一个主机目录作为数据卷 

使用-v标记也可以指定挂载一个本地的已有目录到容器中去作为数据卷:

docker run -d -p 10022:22 -v /Users/jiangxiaolong/logs:/home/public-itcentos_ssh/home/auto_service.sh

上面的命令加载主机的/Users/jiangxiaolong/logs目录到容器的/home/public目录,注意指定的public这个目录不能事先存在,启动这个容器时会自动创建这个目录:

这个功能在进行测试的时候十分方便,比如用户可以放置一些程序或数据到本地目录中,然后在容器内运行和使用。

docker服务重启后容器也自动重启

使用--restart=always

docker run -d-it --restart=always  centos /bin/bash

如果已经启动了则可以使用如下命令修改为自动启动

docker update --restart=always [容器ID]

下载和加载镜像

下载镜像

docker save -o /Users/jiangxiaolong/test.docker centos

/Users/jiangxiaolong/test.docker为需保存的本机文件路径

centos 为镜像名称

加载镜像

docker load --input /Users/jiangxiaolong/test.docker

/Users/jiangxiaolong/test.docker为本机镜像文件

加载完成即可使用docker images进行查看,注意加载完的镜像名称和镜像备份前是相同的,但是image ID不同。

CentoOS6.5安装Docker

升级内核

Centos6.5内核过低需要升级内核,否则在启动容器时/usr/sbin/init无效

下载并安装内核

# cd /etc/yum.repos.d # wget http://www.hop5.in/yum/el6/hop5.repo# yum install kernel-ml-aufs kernel-ml-aufs-devel

修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)

vim /etc/grub.conf

7b7b0ad38e2f400fa1a51c4b89fd91dd.png

重启系统,这时候你的内核就成功升级了。

查看升级是否成功

# uname -r3.10.5-3.el6.x86_64

安装docker

1.先查看下你的系统内核是多少

# uname -r2.6.32-431.el6.x86_64

我的是CentOS 6.5 ,系统内核还不到3.8版本,需要升级内核,如上

2.看看你的系统到底是什么

 # cat  /etc/issueCentOSrelease 6.5 (Final)Kernel \r on an \m

3.安装:

# rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm# rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

4.尝试一下是否能安装上docker

# yum -y installdocker-io lvm2 lvm2-devel# rpm -qa | grepdocker docker-io-1.7.1-2.el6.x86_64

竟然装上了

5.启动并设置开机自动启动

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值