docker1
Docker笔记
1,










https://gitlab-demo.com

Docker官网:https://docs.docker.com/install/overview/
有两个版本:
Docker is available in two editions:
- Community Edition (CE) 是免费的版本
- Enterprise Edition (EE) 是收费的版本
vagrant 安装 centos 7
vagrant + virtualBOX 安装
https://my.oschina.net/cxgphper/blog/1940644
安装Docker
系统centos7
https://docs.docker.com/install/linux/docker-ce/centos/
也可以在vagrantfile中添加安装docker shell

Vagrant up
Docker machine 在本地使用
#docker-machine create demo
Docker-machine ls
Docker-machine ssh demo 进入虚机demo
Docker-machine stop demo1
Docer-machine env demo #print出dome虚机的env
#eval $(docker-machine env demo)
#docker version #可以看到demo的虚机docker版本
搜索docker playground
https://labs.play-with-docker.com/
在 https://www.docker.com/
Docker for windows7/windows10安装 以及Docker id注册
https://blog.csdn.net/xzxedu/article/details/82012297
参考docker
https://www.jianshu.com/p/38649ff222ac
引导入门:
https://blog.csdn.net/sD7O95O/article/details/80193587




[root@zizhen02 ~]# ps -ef |grep docker
root 7661 1 0 14:49 ? 00:00:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 9829 9790 0 16:32 pts/1 00:00:00 grep --color=auto docker
[root@zizhen02 ~]#




#sudo docker image ls


官方给出image获取的 Docker Hub
https://hub.docker.com/search?q=&type=image

去掉sudo:
把vagrant 添加到组docker 里
#sudo groupadd docker
#sudo gpasswd -a vagrant docker
#docker version 权限还是拒绝
#sudo service docker restart 重启docker服务
#docker version
退出重新登。
#docker image ls
#docker pull hello-world 获取hello-world镜像
#docker run hello-world 运行
#mkdir hello-world
#cd hello-world
#vim hello.c
-----
#include<stdio.h>
int main()
{
printf("hello docker\n");
}
-----
#yum install gcc glibc-static
# gcc -static hello.c -o hello
[root@zizhen02 hello-world]# ls
hello hello.c
# cat Dockerfile
FROM scratch
ADD hello /
CMD ['/hello']
[root@zizhen02 hello-world]# docker build -t xiaoli163/hello-world .
Sending build context to Docker daemon 860.7kB
Step 1/3 : FROM scratch
--->
Step 2/3 : ADD hello /
---> d3ce8749b11d
Step 3/3 : CMD ['/hello']
---> Running in 4d72aa29e7a3
Removing intermediate container 4d72aa29e7a3
---> a821094d0306
Successfully built a821094d0306
Successfully tagged xiaoli163/hello-world:latest
[root@zizhen02 hello-world]#
# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaoli163/hello-world latest a821094d0306 37 seconds ago 857kB
ubuntu 14.04 5dbc3f318ea5 6 weeks ago 188MB
hello-world latest fce289e99eb9 2 months ago 1.84kB
centos latest 1e1148e4cc2c 3 months ago 202MB
[root@zizhen02 hello-world]#
[root@zizhen02 hello-world]# ls -lh
total 848K
-rw-r--r-- 1 root root 40 Mar 11 23:02 Dockerfile
-rwxr-xr-x 1 root root 837K Mar 11 22:55 hello
-rw-r--r-- 1 root root 64 Mar 11 22:48 hello.c
[root@zizhen02 hello-world]#
#查看docker的分层
[root@zizhen02 hello-world]# docker history a821094d0306
IMAGE CREATED CREATED BY SIZE COMMENT
a821094d0306 4 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "['/h… 0B
d3ce8749b11d 4 minutes ago /bin/sh -c #(nop) ADD file:68a0159a95ced5415… 857kB
[root@zizhen02 hello-world]#
报错:
[root@zizhen02 hello-world]# docker run xiaoli163/hello-world
docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown.
Docker组件container

[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaoli163/hello-world latest a821094d0306 18 hours ago 857kB
nginx latest 881bd08c0b08 7 days ago 109MB
ubuntu 14.04 5dbc3f318ea5 6 weeks ago 188MB
hello-world latest fce289e99eb9 2 months ago 1.84kB
centos latest 1e1148e4cc2c 3 months ago 202MB
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:32768->80/tcp condescending_wilbur
058aa0c78e3d xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created goofy_gagarin
2383acd50abe xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created loving_franklin
3dcf3c566c78 xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created inspiring_antonelli
4a62f05f9141 hello-world "/hello" 20 hours ago Exited (0) 20 hours ago flamboyant_ellis
7327630800a1 hello-world "/hello" 2 days ago Exited (0) 2 days ago infallible_chatelet
[root@zizhen02 ~]#
[root@zizhen02 ~]# docker run -it centos
[root@db568adf5c1f /]#
[root@db568adf5c1f /]#
[root@db568adf5c1f /]# ip a
bash: ip: command not found
[root@db568adf5c1f /]# ip add li
bash: ip: command not found
[root@db568adf5c1f /]# ip link show
bash: ip: command not found
[root@db568adf5c1f /]# ip
bash: ip: command not found
[root@db568adf5c1f /]# ifconfig
bash: ifconfig: command not found
[root@db568adf5c1f /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@db568adf5c1f /]# vim
bash: vim: command not found
[root@db568adf5c1f /]# vi
[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" About a minute ago Up About a minute amazing_herschel
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" About a minute ago Up About a minute amazing_herschel
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
058aa0c78e3d xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created goofy_gagarin
2383acd50abe xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created loving_franklin
3dcf3c566c78 xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created inspiring_antonelli
4a62f05f9141 hello-world "/hello" 20 hours ago Exited (0) 20 hours ago flamboyant_ellis
7327630800a1 hello-world "/hello" 2 days ago Exited (0) 2 days ago infallible_chatelet
[root@zizhen02 ~]#
Docker退出,容器退出
[root@db568adf5c1f /]# exit
exit
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" 8 minutes ago Exited (1) 29 seconds ago amazing_herschel
删除退出未运行的容器;删除运行的容器会报错;
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" 13 minutes ago Exited (1) 5 minutes ago amazing_herschel
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
058aa0c78e3d xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created goofy_gagarin
2383acd50abe xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created loving_franklin
3dcf3c566c78 xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created inspiring_antonelli
4a62f05f9141 hello-world "/hello" 20 hours ago Exited (0) 20 hours ago flamboyant_ellis
7327630800a1 hello-world "/hello" 2 days ago Exited (0) 2 days ago infallible_chatelet
[root@zizhen02 ~]# docker rm 4a
4a
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" 13 minutes ago Exited (1) 5 minutes ago amazing_herschel
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
058aa0c78e3d xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created goofy_gagarin
2383acd50abe xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created loving_franklin
3dcf3c566c78 xiaoli163/hello-world "/bin/sh -c ['/hello…" 18 hours ago Created inspiring_antonelli
7327630800a1 hello-world "/hello" 2 days ago Exited (0) 2 days ago infallible_chatelet
[root@zizhen02 ~]# docker rm 7327
7327
[root@zizhen02 ~]#
#docker rm [container] 删除container
#docker rmi [image] 删除image
[root@zizhen02 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaoli163/hello-world latest a821094d0306 19 hours ago 857kB
nginx latest 881bd08c0b08 7 days ago 109MB
ubuntu 14.04 5dbc3f318ea5 6 weeks ago 188MB
hello-world latest fce289e99eb9 2 months ago 1.84kB
centos latest 1e1148e4cc2c 3 months ago 202MB
[root@zizhen02 ~]# docker rmi fce289e99eb9
Untagged: hello-world:latest
Untagged: hello-world@sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e
Deleted: sha256:af0b15c8625bb1938f1d7b17081031f649fd14e6b233688eea3c5483994a66a3
[root@zizhen02 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaoli163/hello-world latest a821094d0306 19 hours ago 857kB
nginx latest 881bd08c0b08 7 days ago 109MB
ubuntu 14.04 5dbc3f318ea5 6 weeks ago 188MB
centos latest 1e1148e4cc2c 3 months ago 202MB
[root@zizhen02 ~]#
运行中的container 先#docker container stop [id] 停止; 再删除image
[root@zizhen02 ~]# docker container
Usage: docker container COMMAND
Manage containers
Commands:
attach Attach local standard input, output, and error streams to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
Run 'docker container COMMAND --help' for more information on a command.
[root@zizhen02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b6ec615252 nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker container stop 97b6ec615252
97b6ec615252
[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker container stop 5c 2c
5c
2c
[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zizhen02 ~]#
批量删除container
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db568adf5c1f centos "/bin/bash" 29 minutes ago Exited (1) 21 minutes ago amazing_herschel
97b6ec615252 nginx "nginx -g 'daemon of…" 2 hours ago Exited (0) 5 minutes ago nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 2 hours ago Exited (0) 5 minutes ago mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 2 hours ago Exited (0) 5 minutes ago condescending_wilbur
[root@zizhen02 ~]# docker container ls -aq
db568adf5c1f
97b6ec615252
5cb5e2fb6d11
2ce4f13ed654
[root@zizhen02 ~]# docker container ls -a| awk {'print $1'}
CONTAINER
db568adf5c1f
97b6ec615252
5cb5e2fb6d11
2ce4f13ed654
[root@zizhen02 ~]# docker rm $(docker container ls -aq)
db568adf5c1f
97b6ec615252
5cb5e2fb6d11
2ce4f13ed654
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zizhen02 ~]#
比较复杂的删除container
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e58877cb380a nginx "nginx -g 'daemon of…" 30 seconds ago Exited (0) 11 seconds ago agitated_bartik
[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zizhen02 ~]# docker container ls -f "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e58877cb380a nginx "nginx -g 'daemon of…" About a minute ago Exited (0) About a minute ago agitated_bartik
[root@zizhen02 ~]# docker container ls -f "status=exited" -q
e58877cb380a
[root@zizhen02 ~]# docker rm $(docker container ls -f "status=exited" -q)
e58877cb380a
[root@zizhen02 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zizhen02 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zizhen02 ~]#
docker1的更多相关文章
- cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台
目录 [TOC] 1.基本概念 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor.InfluxDB.Grarana了,本文中这三个实例,主要以Docker容器方式运行. 本 ...
- Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
目录 [TOC] 1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...
- Docker1.12 新增swarm集群
在Docker1.12新版本中,一个新增加的功能点是swarm集群,通过docker命令可以直接实现docker-engine相互发现,并组建成为一个容器集群.有关集群的docker命令如下: (1) ...
- Centos6.7安装docker1.7.1
Docker当前发布的最新版本已经到了1.11,其官网上针对Centos的的安装需求如下: Docker requires a -bit installation regardless of your ...
- docker1.12 安装pxc(Percona XtraDB Cluster )测试
docker1.12 安装pxc(Percona XtraDB Cluster )测试
- docker1.12 安装redis第三方集群方案 codis
docker1.12 安装redis第三方集群方案 codis
- docker1.12在cento7里的跨多主机容器网络
docker1.12在cento7里的跨多主机容器网络
- centos7 docker1.12 私有仓库
docker1.12私有仓库 参考:http://www.cnblogs.com/xcloudbiz/articles/5497037.html 参考:http://www.07net01.com/2 ...
- docker1.13.1的安装与卸载及mysql5.5安装实例
docker中国官方地址:https://www.docker-cn.com/ 您可以使用以下命令直接从该镜像加速地址进行拉取: $ docker pull registry.docker-cn.co ...
- 【k8s】centos上安装kubernetes,报错Error:docker-ce-cli conflicts with 2:docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64
使用命令: yum install kubernetes 报错: Error: docker-ce-cli conflicts with :docker--.git07f3374.el7.centos ...
随机推荐
- go学习笔记-简述
1.程序结构 Go程序结构和C系程序(C/C++/JAVA等)一致,基本语句被组织成函数用于隔离和复用,函数组成源文件和包.Go程序存储在一个或多个.go文件中,每个文件都已pakage开头,表面当前 ...
- 通过编写一个简单的日志类库来加深了解C#的文件访问控制
在程序的开发调试过程及发布运行后的状态监控中,日志都有着极其重要的分量,通过在关键逻辑节点将关键数据记录到日志文件当中能帮助我们尽快找到程序问题所在.网上有不少专业成熟的日志组件可用,比如log4ne ...
- Java集合类(转自hey平平)
一.集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. ...
- Java中的异常处理与抛出
一.异常处理 程序运行过程中出现的,导致程序无法继续运行的错误叫做异常. Java中有多种异常,所有异常的父类是Throwable,他主要有两个子类Error和Exception. Error一般是J ...
- 开发一个简单的chrome插件-解析本地markdown文件
准备软件环境 1. 软件环境 首先,需要使用到的软件和工具环境如下: 一个最新的chrome浏览器 编辑器vscode 2. 使用的js库 代码高亮库:prismjs https://prismjs. ...
- 关于html的基础标签
html: 超文本标记语言 h1 -- h6: 标题标签 一级标题,一个页面中只能存在一个h1 数字越大,标题的级别越小br:换行p:段落 自带换行,前后自带间隙a::::href属性---指定将要跳 ...
- js 两数的最大公约数
function gcd(a,b){ if (b == 0){ return a; } var r = parseInt(a % b) ; return gcd(b, r);}gcd(12,5);
- react系列笔记:第三记-redux-saga
github : https://github.com/redux-saga/redux-saga 文档:https://redux-saga.js.org/ redux-saga: redux中间 ...
- ES6新语法的介绍
对于ES6新语法,阮一峰有一篇文章介绍的挺详细 http://es6.ruanyifeng.com/#docs/destructuring
- 通用c程序Makefile
#一个通用的Makefile,可以在linux各大平台下通用编译c程序,这个版本在gcc平台下实现,如需要课更改第二部的gcc,也可以在第三部添加所需要的库,如有错误,欢迎即使纠正 #1.遵循可移植操 ...