docker使用笔记-linux平台

一、环境准备

1、ubuntu 版本
Linux ubuntu 4.4.0-31-generic #50~14.04.1

二、安装

1、安装1.9版本

1)执行以下指令

sudo apt-get install apt-transport-https 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 
sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" 
sudo apt-get update 
sudo apt-get install lxc-docker

2)检查安装
使用下面指令检查是否安装成功

docker -v

在这里插入图片描述
2、启动
启动 systemctl start docker

守护进程重启 sudo systemctl daemon-reload

重启docker服务 systemctl restart docker

重启docker服务 sudo service docker restart

关闭docker service docker stop

关闭docker systemctl stop docker

三、使用

1、查看ubuntu镜像

docker search ubuntu

该命令将显示所有 ubuntu images,你可以自己尝试一下搜索 centos Images。
在这里插入图片描述
2、拉去官方原版ubuntu系统
使用下面命令拉去官方的原版ubuntu系统镜像,已经开始下载,如下图。

docker pull ubuntu

在这里插入图片描述
完成下载。
在这里插入图片描述

使用命令 查看已经下载 的所有的images:

 docker images

在这里插入图片描述

3、创建容器
使用命令

docker create ubuntu:14.04

或者

docker run -i -t ubuntu:14.04 /bin/bash

创建一个名字叫做 ubuntu:14.04 的新容器。其中,create只创建不启动,run创建并启动容器。
运行 create 命令时在本地未发现ubuntu:14.04的版本,因此重新拉去了一个标签为ubuntu:14.04的镜像,如下图:

拉去的ubuntu14.04的镜像
拉去新的ubuntu镜像
已经下载的所有镜像
已经下载的镜像
已经存在镜像时如下图
在这里插入图片描述

4、运行容器
1)后台带参数运行

docker run -it -d --name ubuntu:14.04-p 8088:80 ubuntu

-d参数为后台运行,–name参数为自定义容器名,-p参数为指定端口映射、后者为容器的端口。注意到成功后台运行后会返回一个容易的id,在这里只需要记住前两位即88即可

2)直接运行

docker run -i -t ubuntu:14.04 /bin/bash

或者

 docker exec -i -t NAMES/ContainerID

执行后进入该容器的bash命令行,用另一个shell查看当前的images状态发现该容器已经处于运行状态。
在这里插入图片描述
在这里插入图片描述
用命令 cat /etc/issue 查看容器内的ubuntu版本。
在这里插入图片描述

在容器内我们可以做很多的操作,和普通的linux系统操作并无差别。比如安装vim和修改为阿里源。
安装vim:

apt-get update
apt-get install vim

更换阿里源

cp sources.list sources.list.bak
echo ''>sources.list
vi sources.list

复制以下内容到source.lis中

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

5、退出容器

1)退出容器:exit,查看容器的运行状态。
在这里插入图片描述
在这里插入图片描述
2)停止容器:docker stop dreamy_pike 或者 docker stop 85785945b3e4 或者 docker stop 85
第一个是容器的名字,后两个是容器的id,其中id只使用前两位也可以停止容器,启动时同理。

6、重启容器

docker restart 容器名/容器id

使用 docker restart 85785945b3e4重启已经存在的容器。
在这里插入图片描述
在这里插入图片描述

7、访问已启动容器的

1)在容器启动的情况下,执行docker attach 容器id 即可进入容器,但执行exit时容器就停止了。
在这里插入图片描述

2)执行 docker exec -it containerID /bin/bash 进入容器,执行命令exit退出时,容器还在运行。
在这里插入图片描述
容器未退出
在这里插入图片描述

8、删除容器
在操作过程中无意创建了一个新的容器,我们使用命令 docker rm 63030b5aa9ba 将其删除,docker rm NAME/ContainerID
在这里插入图片描述

中间遇到几个问题,当经过别的操作的后有时候会发现imageid有重复的:
在这里插入图片描述
此时,使用一般的删除方式 docker rm ca27a58388df 是删除不掉的,会报错,说找不到相应的id:
在这里插入图片描述
原因是,有关联docker容器,无法删除,需要强制删除才可以,使用命令 docker rmi -f ca27a58388df 可以删除:
在这里插入图片描述
9、其他

1)从宿主拷贝文件到容器docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 如,拷贝宿主/目录下kafka_2.11-2.1.0/目录到容器名为dreamy_pike的容器的/目录下,命令:

docker cp kafka_2.11-2.1.0/ dreamy_pike:/

在这里插入图片描述
在这里插入图片描述
2)从容器拷贝文件到宿主docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
3)查看容器信息docker inspect id
4)查看docker状态docker stats id
5)容器的开机自启动docker run -it --restart=always ubuntu
6)查看容器logdocker logs -f -t --tail=5 ubuntu

四、发布容器

1、制作docker镜像

docker commit 85785945b3e4 ubuntu_aliyun:1.0

冒号后面的1.0为版本号,要添加的,就像在前面查看镜像images时的TAG
在这里插入图片描述
制作完成后用命令 docker images 查看已经制作的镜像,
在这里插入图片描述

2、打包镜像
虽然制作了镜像,但是只能在宿主机使用而不能在其他机器上使用,这时需要打包镜像,将镜像文件打包为tar包,发给别的机器再使用。

docker save -o ubuntu_aliyun.tar ubuntu_aliyun:1.0

在这里插入图片描述

3、本地镜像推送到docker Hub

1)账户登录
若没有账户的,在 此处 注册docker hub账户,然后使用命令 docker login 登录docker hub.
在这里插入图片描述

2)修改镜像
修改已经生成的镜像文件为规范的命名格式,推送镜像的规范是:
docker push 注册用户名/镜像名
修改的命令:
docker tag 目前的名字 规范的名称

未修改前的images在这里插入图片描述
修改之后的images
在这里插入图片描述
发现一个问题,文档上说docker tag是重命名的指令,但是操作之后发现似乎是重新多了一份???

3)推送到docker hub
使用命令 docker push 镜像名:latest,推送测试的镜像到docker hub.

docker push luciferofwg/ubuntu_aliyun:latest

开始推送
在这里插入图片描述
似乎除了问题
在这里插入图片描述
经过查看,应该是与docker hub的链接不稳定导致的,重新推送成功了。
在这里插入图片描述
推送成功之后,在docker hub上自己的主页上查看推送的结果,已经成功。这个镜像即可pull下来在别的地方使用。
在这里插入图片描述

至此,就是在学习使用docker的过程中记录的一些问题和笔记,多数资料来自与互联网。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值