首页 > 其他 > 详细

4,docker-ce的安装

时间:2020-08-16 19:53:30      阅读:58      评论:0      收藏:0      [点我收藏+]
docker-ce的安装:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum install docker-ce



进入正在进行的容器方法:

#! /bin/bash
# Use nsenter to access docker
docker_in() {
   Name_Id=$1
   PID=$(docker inspect -f "{{ .State.Pid }}" $Name_Id)
   nsenter --target $PID --mount --uts --ipc --net --pid
}
docker_in $1


数据卷容器
如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。
首先,创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata:
$ docker run -it -v /dbdata --name dbdata ubuntu
root@3ed94f279b6f:/#
查看/dbdata目录:
root@3ed94f279b6f:/# ls
bin  boot  dbdata  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run sbin  srv  sys  tmp  usr  var
然后,可以在其他容器中使用--volumes-from来挂载dbdata容器中的数据卷.
例如创建db1和db2两个容器,并从dbdata容器挂载数据卷:
$ docker run -it --volumes-from dbdata --name db1 ubuntu
$ docker run -it --volumes-from dbdata --name db2 ubuntu
此时,容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到。
用--volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态。
如果删除了挂载的容器(包括dbdata、db1和db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器。



构建自己的镜像:
1,手动构建镜像(方式一):

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              cd5239a0906a        7 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        8 days ago          200 MB
[root@localhost ~]# docker run --name mynginx -it centos

[root@85eda84b5668 /]#
[root@85eda84b5668 /]# rpm -ivh http://download.fedoraproject.org/pub/epel/7/ppc64le/Packages/e/epel-release-7-11.noarch.rpm
Retrieving http://download.fedoraproject.org/pub/epel/7/ppc64le/Packages/e/epel-release-7-11.noarch.rpm
warning: /var/tmp/rpm-tmp.ue5mKo: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-7-11                ################################# [100%]
[root@85eda84b5668 /]# yum install nginx
[root@85eda84b5668 /]# vi /etc/nginx/nginx.conf
添加前端启动:daemon off ;
[root@85eda84b5668 /]# exit
exit
[root@localhost ~]#
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
85eda84b5668        centos              "/bin/bash"         16 minutes ago      Exited (0) 46 seconds ago                       mynginx
[root@localhost ~]#
[root@localhost ~]# docker commit -m "My Nginx" 85eda84b5668 oldboy/mynginx:v1
sha256:0c843695d9c3e4215fd969d9c9a065c4683836204f6ba7186e1fb6b408b79a4d
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
oldboy/mynginx      v1                  0c843695d9c3        17 seconds ago      386 MB
docker.io/nginx     latest              cd5239a0906a        7 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        8 days ago          200 MB
[root@localhost ~]#
(oldboy 为仓库的名称,mynginx镜像的名称,v1打的一个标签)
接下来启动我做的这个镜像:
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
oldboy/mynginx      v1                  0c843695d9c3        17 seconds ago      386 MB
docker.io/nginx     latest              cd5239a0906a        7 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        8 days ago          200 MB
[root@localhost ~]# docker run --name mynginxv1 -d -p 81:80 oldboy/mynginx:v1 nginx (这里必须加v1不加的话他就会去找,oldboy/mynginx:laster的镜像,找不到的话,就会去远端下载,nginx表示的是启动命令)
f79352f4de7c6e310c0425b9b9e57c6cecb146cdaf8c207ac7f8f4c1dab5ac2d
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                NAMES
f79352f4de7c        oldboy/mynginx:v1   "nginx"             23 seconds ago      Up 23 seconds       0.0.0.0:81->80/tcp   mynginxv1
[root@localhost ~]#


[root@192 ~]# docker run -it --name volume-test1 -h nginx -v /data centos  #-h主机名
[root@nginx /]#
[root@192 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
614e14bf974c        centos              "/bin/bash"         15 minutes ago      Up 15 minutes                           volume-test1
[root@192 ~]# docker inspect 614e14bf974c  ##将本机的这个目录挂载到docker的/data目录.
"Mounts": [
            {
                "Type": "volume",
                "Name": "851887d1490066427879f14c0ea5295ee8eb56fac8d1dc725960b719fef63075",
                "Source": "/var/lib/docker/volumes/851887d1490066427879f14c0ea5295ee8eb56fac8d1dc725960b719fef63075/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
手动创建镜像(把容器做成镜像)
[root@192 _data]#
[root@192 _data]#
[root@192 _data]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ff6877fc518a        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           nginx-man
[root@192 _data]# docker commit -m "my-nginx" ff6877fc518a liuqi/my-my-nginx:v1
sha256:d51bd3c6a58fcbb3fc0bbd7e24c357ee01baf0a114ddbcadc9010039a78636ed
[root@192 _data]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ff6877fc518a        centos              "/bin/bash"         23 minutes ago      Up 23 minutes                           nginx-man
[root@192 _data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
liuqi/my-my-nginx   v1                  d51bd3c6a58f        22 seconds ago      370 MB
docker.io/nginx     latest              5699ececb21c        6 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        4 weeks ago         200 MB
[root@192 _data]#

启动手动创建的镜像的容器
[root@192 _data]#
[root@192 _data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
liuqi/my-my-nginx   v1                  d51bd3c6a58f        3 minutes ago       370 MB
docker.io/nginx     latest              5699ececb21c        6 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        4 weeks ago         200 MB
[root@192 _data]#
[root@192 _data]# docker run -d -p 92:80 liuqi/my-my-nginx  #必须加tag标记
Unable to find image ‘liuqi/my-my-nginx:latest‘ locally
Trying to pull repository docker.io/liuqi/my-my-nginx ...
^C
[root@192 _data]# docker run -d -p 92:80 liuqi/my-my-nginx:v1
0ca5069c5b6dbc4175e644333bb81d6f61bea48a74af7b2e716c796666956243
[root@192 _data]#


[root@192 _data]#
[root@192 _data]# docker ps -l
CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS                     PORTS               NAMES
0ca5069c5b6d        liuqi/my-my-nginx:v1   "/bin/bash"         4 minutes ago       Exited (0) 4 minutes ago                       upbeat_saha
[root@192 _data]# docker commit -m "v2" 0ca5069c5b6d liuqi/my-nginx:v2
sha256:db15e701ff3d3f8c3a154507d466a6a16dced9adca46695037b18d4291c6b951
[root@192 _data]#
[root@192 _data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
liuqi/my-nginx      v2                  db15e701ff3d        28 seconds ago      370 MB
liuqi/my-my-nginx   v1                  d51bd3c6a58f        10 minutes ago      370 MB
docker.io/nginx     latest              5699ececb21c        6 days ago          109 MB
docker.io/centos    latest              49f7960eb7e4        4 weeks ago         200 MB
[root@192 _data]#

 

4,docker-ce的安装

原文:https://www.cnblogs.com/k8s-pod/p/13513683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!