docker入门

docker run --name mydocker -t -i centos /bin/bash 详解

-t 分配一个尾终端

-i 保持打开

/bin/bash 命令

容器启动运行结束就关闭

容器名称和主机名一样

docker run:先检测是否有centos进行,检查是否有(没有就下载)

启动容器,分配文件系统,给一IP等等

------------------------------------------------------------------------------------------------------------------------

docker search 搜索镜像

docker pull    获取镜像

docker image 查看镜像

docker rmi    删除镜像

容器的理念是单进程

docker run --name -h hostname 启动容器

docker stop CONTAINER ID 停止容器

docker ps -a  -l 查看容器(-a显示容器包括运行和不运行的 )

docker exec | docker attach  nsenter 进入容器

docker rm 删除容器 

docker rm afa16afddbc3 

docker rm -f afa16afddbc3(删除一个正在运行的容器)

docker inspect --format "{{.State.Pid}}" 6ba6446f204a 查看容器pid

nsenter进入容器不退出 nsenter -t 17105 -u -i -n -p

Options:

 -t, --target <pid>     target process to get namespaces from
 -m, --mount[=<file>]   enter mount namespace
 -u, --uts[=<file>]     enter UTS namespace (hostname etc)
 -i, --ipc[=<file>]     enter System V IPC namespace
 -n, --net[=<file>]     enter network namespace
 -p, --pid[=<file>]     enter pid namespace
 -U, --user[=<file>]    enter user namespace
 -S, --setuid <uid>     set uid in entered namespace
 -G, --setgid <gid>     set gid in entered namespace
     --preserve-credentials do not touch uids or gids
 -r, --root[=<dir>]     set the root directory
 -w, --wd[=<dir>]       set the working directory
 -F, --no-fork          do not fork before exec'ing <program>
 -Z, --follow-context   set SELinux context according to --target PID
-h, --help     display this help and exit

 -V, --version  output version information and exit

正在运行的docker id

docker ps  -a -q

--------------------------------------------------

docker网络

端口映射:

   随机映射 docker run -P

   指定映射 -p hostport:containerPort

                  -p ip:hostprot:containerPort

                   -p ip::containerPort

                  -p hostprot:containerPort

                   -p hostport::containerPort:udp

docker run -d -p 81:80 nginx

-----------------------------------------------------------------

docker数据管理

数据卷                                    数据卷容器

-v /data                                    --volumes-

v- src:dst                                    from

创建数据卷 docker run -it --name volume-test1 -v /data centos

列出容器内容 docker inspect 容器名

挂载目录或文件到容器中:docker run -it  -v /opt(源):/opt(目标):(权限ro rw等) centos

一个容器进入另一个容器docker run -it --name test1 --volumes-from nfs centos 

----------------------------------------------------------------------------

基于容器创建镜像

1. 基于centos镜像启动容器 docker run --name mynginx -it centos

2.安装nginx

 (1)打开mirrors.aliyun.com

  (2)复制epel地址 rpm -ihv  https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

    (3) yum install -y nginx

3.  创建容器 docker commit -m "my nginx" 5bf558e31910 yangkun(用户名)/mynginx:v1(标签) 创建之后变成镜像

因为nginx是后台运行起不来

4 使用v1镜像再启动一个容器 docker run -it --name nginxv1 yangkun/myngingx:v1 

5 修改配置文件 vi /etc/nginx/nginx/conf 添加daemon off;

6.启动新容器 docker commit -m "my nginx" b4d5f623d55f yangkun/mynginx:v2 成为镜像

7.基于V2镜像启动容器docker run -d -p 82:80 /yangkun/mynginx:v2 ngxin 

    访问82端口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值