您的位置:首页 > 运维架构 > Docker

docker基础(陆续更新)

2017-04-12 17:37 363 查看
环境:centos7

仓库:163

安装docker

[root@yw-2 tmp]# yum install docker

下载镜像,从163上

[root@yw-2 tmp]# docker pull hub.c.163.com/public/nginx:1.2.1

查看本地镜像

[root@yw-2 tmp]# docker images

REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE

hub.c.163.com/public/nginx   1.2.1               2dc68ff797db        10 months ago       171.5 MB

注:

REPOSITORY 属于哪个仓库

TAG        镜像标记

IMAGE ID   它的id号

CREATED    创建时间

SIZE       镜像大小

创建docker容器并运行

[root@yw-2 tmp]# docker run --name docker_nginx -it -d  -p 8888:80 -p 2222:22 2dc68ff797db /bin/bash

6309a9819e840d10a8479cfe0f370f7ba5add44b64c0f443ea3509a88e10f70f

[root@yw-2 ~]# docker run --name mongo_test -it -d  -p 2222:22 -v /sys/kernel/mm/transparent_hugepage/enabled:/sys/kernel/mm/transparent_hugepage/enabled -v /sys/kernel/mm/transparent_hugepage/defrag:/sys/kernel/mm/transparent_hugepage/defrag  2ce04a284fa8
bin/bash

1ae768c7bca3ca390b22b091a49f444ac4b48ac2ca9fc0643be25051029a3e20

注:

run                   启动参数

--name docker_nginx   定义name为docker_nginx

-i                    启动一个容器并进入交互模式

-t                    分配一个伪造的终端输入

-d                    分离模式,在后台运行容器,并且打印出容器ID

-p                    端口映射本地8888设置docker的80

-v                    挂载本地文件到docker容器

-v /sys/kernel/mm/transparent_hugepage/enabled:/sys/kernel/mm/transparent_hugepage/enabled:ro  为只读,默认是读写

2dc68ff797db          镜像ID

/bin/bash             login shell是/bin/bash

查看容器运行情况  -a是包括停止的docker

[root@yw-2 tmp]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                 NAMES

6309a9819e84        2dc68ff797db        "/bin/sh -c '/etc/ini"   6 minutes ago       Up 6 minutes        443/tcp, 0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp   docker_nginx

[root@yw-2 tmp]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                                                 NAMES

6309a9819e84        2dc68ff797db        "/bin/sh -c '/etc/ini"   6 minutes ago       Up 6 minutes                  443/tcp, 0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp   docker_nginx

1aa6f9480078        2dc68ff797db        "/bin/sh -c '/etc/ini"   8 minutes ago       Exited (130) 7 minutes ago                                                          nginx_docker

ef8f600d1a19        2dc   

注:

CONTAINER ID:容器的id

IMAGE:镜像的id

STATUS:状态(运行或者停止)

PORTS:端口映射

NAMES:容器名称

停止已经运行的dockers容器

[root@yw-2 /]# docker stop 6309a9819e84

6309a9819e84

启动已经停止的docker容器

[root@yw-2 /]# docker start 6309a9819e84

6309a9819e84

进入docker容器

[root@yw-2 /]# docker attach 6309a9819e84

也可以这么进入容器

[root@yw-2 /]# docker exec -it 6309a9819e84  /bin/bash

启动已有的dockers容器

[root@yw-2 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES

be08d049b8f4        2ce04a284fa8        "bin/bash"               2 weeks ago         Exited (0) 13 days ago                             mongo_2

aaf0fc239169        2ce04a284fa8        "bin/bash"               2 weeks ago         Exited (1) 15 minutes ago   0.0.0.0:2222->22/tcp   mongo_1

3dc72300b1e6        2dc68ff797db        "/bin/sh -c '/etc/ini"   2 weeks ago         Exited (0) 2 weeks ago                             suspicious_lichterman

6309a9819e84        2dc68ff797db        "/bin/sh -c '/etc/ini"   2 weeks ago         Exited (0) 2 weeks ago                             docker_nginx

[root@yw-2 ~]# docker start be08d049b8f4

be08d049b8f4

docker拷贝到本地和本地文件拷贝到docker

[root@yw-2 ~]# docker cp be:/mnt/mongodb-linux-x86_64-3.4.2.tgz /mnt/

[root@yw-2 ~]# docker cp  /mnt/mongodb-linux-x86_64-3.4.2.tgz 1a:/mnt/

制作镜像

[root@yw-2 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

1ae768c7bca3        2ce04a284fa8        "bin/bash"          3 days ago          Up 22 hours         0.0.0.0:2222->22/tcp   mongo_test

[root@yw-2 ~]# docker commit -m "mongo" -a "wangzz" 1ae768c7bca3  wzz/docker

sha256:97cb8313f2a012bb8523331298ccf9f4dd41651205b229b1c98eb46c5a0de18d

[root@yw-2 ~]# docker images

REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE

wzz/docker                    latest              97cb8313f2a0        10 minutes ago      974.3 MB

hub.c.163.com/public/centos   2ce04a284fa8        df8ba6707c66        16 minutes ago      974.2 MB

注:

-m 定义描述

-a 定义作者

1ae768c7bca3 制作镜像的容器ID

wzz/docker   镜像名

删除docker镜像

[root@yw-2 ~]# docker images

REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE

wzz/docker                    latest              97cb8313f2a0        About an hour ago   974.3 MB

hub.c.163.com/public/centos   latest              8096a4855af5        About an hour ago   974.2 MB

hub.c.163.com/public/centos   7.0                 2ce04a284fa8        8 months ago        287.9 MB

hub.c.163.com/public/nginx    1.2.1               2dc68ff797db        11 months ago       171.5 MB

[root@yw-2 ~]# docker rmi 8096a4855af5

Untagged: hub.c.163.com/public/centos:latest

Deleted: sha256:8096a4855af5366bb799f64b0000b1695af11cd601f452eba0d0936eb0cca1bd

Deleted: sha256:992c358d650d9c976b533ab8895d00f9995987815180a238bd2530cf131d6f15

[root@yw-2 ~]#

系统iso镜像导入docker

cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

把docker镜像导出到本地

[root@yw-2 ~]# docker images

REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE

wzz/docker                    latest              97cb8313f2a0        2 hours ago         974.3 MB

hub.c.163.com/public/centos   7.0                 2ce04a284fa8        8 months ago        287.9 MB

hub.c.163.com/public/nginx    1.2.1               2dc68ff797db        11 months ago       171.5 MB

[root@yw-2 ~]# docker save -o wangzhengzhong.tar 97cb8313f2a0

[root@yw-2 ~]# ls

wangzhengzhong.tar

[root@yw-2 ~]#

本地镜像导入到docker

[root@yw-2 ~]# docker load --input wangzhengzhong.tar

Loaded image ID: sha256:97cb8313f2a012bb8523331298ccf9f4dd41651205b229b1c98eb46c5a0de18d

[root@yw-2 ~]# docker images

REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE

wzz/docker                    latest              97cb8313f2a0        2 hours ago         974.3 MB

hub.c.163.com/public/centos   7.0                 2ce04a284fa8        8 months ago        287.9 MB

hub.c.163.com/public/nginx    1.2.1               2dc68ff797db        11 months ago       171.5 MB

或者

[root@yw-2 ~]# docker load < wangzhengzhong.tar

导出docker容器到本地

[root@yw-2 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

b36f6faf2abe        2ce04a284fa8        "bin/bash"          7 minutes ago       Up 7 minutes        0.0.0.0:2222->22/tcp   mongotest

[root@yw-2 ~]# docker export b36f6faf2abe > wangzz.tar

[root@yw-2 ~]# ls

wangzhengzhong.tar  wangzz.tar

[root@yw-2 ~]#

导入docker容器到镜像

[root@yw-2 ~]# cat wangzz.tar | docker import - wangzz_test

sha256:0b06fccb7a9dc85fa7808502c6a0cd1f6135d395db82776a5953f06606331960

[root@yw-2 ~]# docker images

REPOSITORY                    TAG             
caf0
    IMAGE ID            CREATED             SIZE

wangzz_test                   latest              0b06fccb7a9d        32 seconds ago      199 MB

[root@yw-2 ~]# docker  run --name test -it -d  -p 3333:22 -v /sys/kernel/mm/transparent_hugepage/enabled:/sys/kernel/mm/transparent_hugepage/enabled -v /sys/kernel/mm/transparent_hugepage/defrag:/sys/kernel/mm/transparent_hugepage/defrag  0b06fccb7a9d  bin/bash

e92864776161af2e0c605060dad7b13c44610c30f9502a4621976958ab76c44a

[root@yw-2 ~]# docker exec -it e9 /bin/bash

[root@e92864776161 /]#

也可以通过url导入

docker import http://example.com/exampleimage.tgz example/imagerepo

注:用户既可以使用docker load来导入镜像存储文件到本地镜像库,也可以使用docker import来导入一个容器快照到本地镜像库。

这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),

而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

删掉一个运行的容器

[root@yw-2 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

e92864776161        0b06fccb7a9d        "bin/bash"          6 minutes ago       Up 6 minutes        0.0.0.0:3333->22/tcp   test

b36f6faf2abe        2ce04a284fa8        "bin/bash"          18 minutes ago      Up 18 minutes       0.0.0.0:2222->22/tcp   mongotest

[root@yw-2 ~]# docker rm -f b36f6faf2abe

b36f6faf2abe

[root@yw-2 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

e92864776161        0b06fccb7a9d        "bin/bash"          6 minutes ago       Up 6 minutes        0.0.0.0:3333->22/tcp   test

[root@yw-2 ~]#

登陆docker官方仓库

[root@yw-2 ~]# docker login

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.

Username: wangzhengzhong

Password:

Login Succeeded

查看官方centos的镜像

[root@yw-2 ~]# docker search centos

INDEX       NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

docker.io   docker.io/centos                                 The official build of CentOS.                   3228      [OK]       

docker.io   docker.io/jdeathe/centos-ssh                     CentOS-6 6.8 x86_64 / CentOS-7 7.3.1611 x8...   63                   [OK]

docker.io   docker.io/consol/centos-xfce-vnc                 Centos container with "headless" VNC sessi...   24                   [OK]

docker.io   docker.io/nimmis/java-centos                     This is docker images of CentOS 7 with dif...   23                   [OK]

docker.io   docker.io/gluster/gluster-centos                 Official GlusterFS Image [ CentOS-7 +  Glu...   18                   [OK]

docker.io   docker.io/million12/centos-supervisor            Base CentOS-7 with supervisord launcher, h...   14                   [OK]

docker.io   docker.io/torusware/speedus-centos               Always updated official CentOS docker imag...   8                    [OK]

docker.io   docker.io/egyptianbman/docker-centos-nginx-php   A simple and highly configurable docker co...   6                    [OK]

docker.io   docker.io/nathonfowlie/centos-jre                Latest CentOS image with the JRE pre-insta...   5                    [OK]

docker.io   docker.io/centos/mariadb55-centos7                                                               4                    [OK]

docker.io   docker.io/centos/redis                           Redis built for CentOS                          2                    [OK]

docker.io   docker.io/centos/tools                           Docker image that has systems administrati...   2                    [OK]

docker.io   docker.io/harisekhon/centos-java                 Java on CentOS (OpenJDK, tags jre/jdk7-8)       2                    [OK]

docker.io   docker.io/harisekhon/centos-scala                Scala + CentOS (OpenJDK tags 2.10-jre7 - 2...   2                    [OK]

docker.io   docker.io/blacklabelops/centos                   CentOS Base Image! Built and Updates Daily!     1                    [OK]

docker.io   docker.io/darksheer/centos                       Base Centos Image -- Updated hourly             1                    [OK]

下载官方仓库的mongo

[root@yw-2 ~]# docker pull docker.io/mongo

Using default tag: latest

Trying to pull repository docker.io/library/mongo ...

latest: Pulling from docker.io/library/mongo

e45e882ed798: Downloading [====>                                              ] 2.457 MB/29.6 MB

b03f96593290: Download complete

90df9ef9b571: Download complete

获取docker容器的pid

[root@localhost ~]# docker inspect --format "{{.State.Pid}}" 71c0acc570c1

5228

获取docker容器的pid

[root@localhost ~]# docker inspect --format "{{.State.Pid}}" 71c0acc570c1

5228

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: