关于docker 基础使用记录

Docker Hub地址:https://hub.docker.com

Docker Hub 存放着 Docker 及其组件的所有资源。Docker Hub 可以帮助你与同事之间协作,并获得功能完整的 Docker。为此,它提供的服务有:

  • Docker 镜像主机
  • 用户认证
  • 自动镜像构建和工作流程工具,如构建触发器和 web hooks
  • 整合了 GitHub 和 BitBucket

 

常用的命令和功能记录:

 

1.docker search http //查询镜像 ,http为镜像名称
2.docker pull  http    //下载镜像
3.docker images ls //查看本地所有存在的镜像
4.docker ps -a //查看本地 开启或未开启的镜像
5.docker run http //启动一个镜像
6.docker run -t -i http /bin/bash  //交互式启动镜像 -t代表伪终端 -i代表标准输入  exit;可以推出容器,默认退出后容器关闭
7.docker start http  //启动此镜像  stop为停止
8.docker run -d http //指定镜像后台运行
9. docker exec -t -i http bash  //进入容器
10.docker export fe523b5ce4e8 >ubuntu.tar //导出容器到本地
11.cat ubuntu.tar |ocker import - test/ubuntu:v1.0 //导入容器快照

  

 

 

实例操作:

1.根据镜像创建一个容器

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hopeful_austin      latest              b373750484ee        About an hour ago   133.3 MB
docker.io/ubuntu    12.04               5b117edd0b76        9 months ago        103.6 MB
[root@localhost ~]# docker run -t -i docker.io/ubuntu:12.04
root@8b0042551f59:/# ifconfig
bash: ifconfig: command not found

2.安装一些命令,然后保存我更新后的镜像,并根据保存的新镜像进入查看是否存在我安装的命令

root@8b0042551f59:/# apt-get update
root@8b0042551f59:/# apt-get install net-tools
root@8b0042551f59:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:03
          inet addr:172.17.0.3  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5311 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3419 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:29054244 (29.0 MB)  TX bytes:241320 (241.3 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@8b0042551f59:/# exit
exit
[root@localhost ~]# docker commit -m="install ifconfig" -a="quanl" 8b0042551f59 quanl/unbuntu:v9
sha256:15590c143fcc9d5c7d5692fdb9df2e4ff134cd124b78cbad348ac53027382f2c
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
quanl/unbuntu       v9                  15590c143fcc        38 seconds ago      133.1 MB
hopeful_austin      latest              b373750484ee        About an hour ago   133.3 MB
docker.io/ubuntu    12.04               5b117edd0b76        9 months ago        103.6 MB
[root@localhost ~]#
[root@localhost ~]# docker run -t -i quanl/unbuntu:v9 bash
root@9a51a8960a80:/#
root@9a51a8960a80:/#
root@9a51a8960a80:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:03
          inet addr:172.17.0.3  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:508 (508.0 B)  TX bytes:508 (508.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

3.将保存后的镜像传到docker hub上备份

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                       PORTS               NAMES
9a51a8960a80        quanl/unbuntu:v9         "bash"              4 minutes ago       Exited (127) 8 seconds ago                       cranky_wright
8b0042551f59        docker.io/ubuntu:12.04   "/bin/bash"         11 minutes ago      Exited (0) 8 minutes ago                         awesome_golick
117094955ea2        ubuntu:12.04             "/bin/bash"         About an hour ago   Up 14 minutes                                    hopeful_austin
[root@localhost ~]# docker push quanl/unbuntu:v9
The push refers to a repository [docker.io/quanl/unbuntu]
eac11db21faf: Pushed
3efd1f7c01f6: Mounted from quanl/ubuntu
73b4683e66e8: Mounted from quanl/ubuntu
ee60293db08f: Mounted from quanl/ubuntu
9dc188d975fd: Mounted from quanl/ubuntu
58bcc73dcf40: Mounted from quanl/ubuntu
v9: digest: sha256:a5a64a1eb2a5f14841c09f2ee51405905c4051fe7f34363558a6765ac8c48ac7 size: 1571
[root@localhost ~]#

 

4.删除本地镜像,查找我docker hub上的的镜像并下载

[root@localhost ~]# docker rmi quanl/unbuntu:v9
Error response from daemon: conflict: unable to remove repository reference "quanl/unbuntu:v9" (must force) - container 9a51a8960a80 is using its referenced image 15590c143fcc
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                       PORTS               NAMES
9a51a8960a80        quanl/unbuntu:v9         "bash"              9 minutes ago       Exited (127) 5 minutes ago                       cranky_wright
8b0042551f59        docker.io/ubuntu:12.04   "/bin/bash"         16 minutes ago      Exited (0) 12 minutes ago                        awesome_golick
117094955ea2        ubuntu:12.04             "/bin/bash"         About an hour ago   Up 18 minutes                                    hopeful_austin
[root@localhost ~]# docker rm 9a51a8960a80
9a51a8960a80
[root@localhost ~]# docker rmi quanl/unbuntu:v9
Untagged: quanl/unbuntu:v9
Untagged: quanl/unbuntu@sha256:a5a64a1eb2a5f14841c09f2ee51405905c4051fe7f34363558a6765ac8c48ac7
Deleted: sha256:15590c143fcc9d5c7d5692fdb9df2e4ff134cd124b78cbad348ac53027382f2c
Deleted: sha256:576eb2435ca331eb55e1fe63df789d38be6c058184e0bc249cf20a14d5235ca5
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hopeful_austin      latest              b373750484ee        About an hour ago   133.3 MB
docker.io/ubuntu    12.04               5b117edd0b76        9 months ago        103.6 MB
[root@localhost ~]# docker search quanl/unbuntu:v9
INDEX       NAME                                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/quanlong/ck-vpn                     IKEv2 VPN Server for iOS/OSX with zero config   4                    [OK]
docker.io   docker.io/quanlong/coreos-pxe-installer       Bootstrap CoreOS cluster via PXE in seconds     1                    [OK]
docker.io   docker.io/quanlong/gitlab-runner              gitlab-ci-multi-runner with automated regi...   1
docker.io   docker.io/ntworld/quanly-node-base            Base image for nodes in QuanLy project          0                    [OK]
docker.io   docker.io/quanl/test                          pull rom docker images                          0
docker.io   docker.io/quanlin/docker-whale                                                                0
docker.io   docker.io/quanlin/node-web-app                                                                0
docker.io   docker.io/quanlong/ckdots                     Manage dotfiles across all your devices, e...   0                    [OK]
docker.io   docker.io/quanlong/worktile-events-to-slack                                                   0                    [OK]
[root@localhost ~]# docker pull quanl/unbuntu:v9
Trying to pull repository docker.io/quanl/unbuntu ...
v9: Pulling from docker.io/quanl/unbuntu
396e9d6ee8c9: Already exists
403b0fc2e6f1: Already exists
7124ef1a91d2: Already exists
f47441d15565: Already exists
588e8920e707: Already exists
edadee58a8ba: Downloading [===========================>                       ] 15.62 MB/28.71 MB

 

挂载数据目录:

[root@localhost ~]# docker run  --name=liuquan --privileged=true -it -v /letv:/letv docker.io/quanl/unbuntu:v9  /bin/bash
root@9c3348840322:/# df -h
Filesystem                                                                                        Size  Used Avail Use% Mounted on
rootfs                                                                                             10G  161M  9.9G   2% /
/dev/mapper/docker-253:0-244534-c98505094cc27e988de9eeba4644966f8986a88e95039f47f71640e71c5092bf   10G  161M  9.9G   2% /
tmpfs                                                                                              12G     0   12G   0% /dev
tmpfs                                                                                              12G     0   12G   0% /sys/fs/cgroup
/dev/sdb                                                                                          8.1T  4.1T  4.1T  51% /letv
/dev/mapper/cl-root                                                                                50G  1.5G   49G   3% /etc/resolv.conf
/dev/mapper/cl-root                                                                                50G  1.5G   49G   3% /etc/hostname
/dev/mapper/cl-root                                                                                50G  1.5G   49G   3% /etc/hosts
shm                                                                                                64M     0   64M   0% /dev/shm
/dev/mapper/cl-root                                                                                50G  1.5G   49G   3% /run/secrets
root@9c3348840322:/#
root@9c3348840322:/#
root@9c3348840322:/#
root@9c3348840322:/# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS               NAMES
9c3348840322        docker.io/quanl/unbuntu:v9   "/bin/bash"              17 seconds ago      Exited (0) 4 seconds ago                        liuquan
286a6354107b        docker.io/quanl/unbuntu:v9   "/bin/bash"              45 seconds ago      Exited (0) 27 seconds ago                       desperate_shirley
cf9e2a661fa6        docker.io/quanl/unbuntu:v9   "--privileged=ture /b"   4 minutes ago       Created                                         sad_bardeen
48993aefdbcb        docker.io/quanl/unbuntu:v9   "/bin/bash --privileg"   4 minutes ago       Exited (2) 4 minutes ago                        admiring_shockley
5795128d9e04        docker.io/quanl/unbuntu:v9   "/bin/bash --privileg"   5 minutes ago       Exited (2) 5 minutes ago                        rom123
1e3bf90ce70e        docker.io/quanl/unbuntu:v9   "/bin/bash"              6 minutes ago       Exited (0) 6 minutes ago                        rom
9a129171fa6e        docker.io/quanl/unbuntu:v9   "/bin/bash"              7 minutes ago       Exited (1) 6 minutes ago                        boring_fermat
0abcc43d34c9        docker.io/quanl/unbuntu:v9   "/bin/bash"              8 minutes ago       Exited (1) 7 minutes ago                        sharp_shannon
8b0042551f59        docker.io/ubuntu:12.04       "/bin/bash"              46 minutes ago      Exited (0) 42 minutes ago                       awesome_golick
117094955ea2        ubuntu:12.04                 "/bin/bash"              2 hours ago         Up 48 minutes                                   hopeful_austin
[root@localhost ~]# docker start liuquan
liuquan
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED              STATUS                      PORTS               NAMES
9c3348840322        docker.io/quanl/unbuntu:v9   "/bin/bash"              32 seconds ago       Up 5 seconds                                    liuquan
286a6354107b        docker.io/quanl/unbuntu:v9   "/bin/bash"              About a minute ago   Exited (0) 42 seconds ago                       desperate_shirley
cf9e2a661fa6        docker.io/quanl/unbuntu:v9   "--privileged=ture /b"   4 minutes ago        Created                                         sad_bardeen
48993aefdbcb        docker.io/quanl/unbuntu:v9   "/bin/bash --privileg"   5 minutes ago        Exited (2) 5 minutes ago                        admiring_shockley
5795128d9e04        docker.io/quanl/unbuntu:v9   "/bin/bash --privileg"   5 minutes ago        Exited (2) 5 minutes ago                        rom123
1e3bf90ce70e        docker.io/quanl/unbuntu:v9   "/bin/bash"              6 minutes ago        Exited (0) 6 minutes ago                        rom
9a129171fa6e        docker.io/quanl/unbuntu:v9   "/bin/bash"              7 minutes ago        Exited (1) 6 minutes ago                        boring_fermat
0abcc43d34c9        docker.io/quanl/unbuntu:v9   "/bin/bash"              9 minutes ago        Exited (1) 7 minutes ago                        sharp_shannon
8b0042551f59        docker.io/ubuntu:12.04       "/bin/bash"              46 minutes ago       Exited (0) 43 minutes ago                       awesome_golick
117094955ea2        ubuntu:12.04                 "/bin/bash"              2 hours ago          Up 49 minutes                                   hopeful_austin
[root@localhost ~]# docker exec -ti 9c3348840322 bash

  

设置ssh登录docker  

[root@localhost ~]# docker run -ti -p2022:22 --name="ubuntu_rom" --privileged=true -v /letv/Android/:/letv/Android/ yeming_rom /bin/bash

关闭宿主机的selinux 和 iptables 即可登录到docker系统内

  

 

 

ubuntu系统安装后没有ifconfig和ping命令解决:

apt-get install net-tools
apt-get install iputils-ping

  

 

posted @ 2018-01-14 19:41  Quan7  阅读(703)  评论(0编辑  收藏  举报