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 ...
随机推荐
- The innodb_system data file 'ibdata1' must be writable
在安装MySQL的时候报的错,我理解的这个错是因为有个文件是Innodb需要在安装MySQL(或者创建数据库的时候)的时候需要写入这个文件,但是他现在没有写的权限. 日志中的错误是: 5.7版本以前是 ...
- linux—epoll
一.epoll服务端实现中需要的3个函数: epoll_create:创建保存epoll文件描述符的空间. epoll_ctl:向空间注册并注销文件描述符. epoll_wait:与select函数类 ...
- argument 1 must be 2-item sequence, not int
看了 https://blog.csdn.net/qq_18250439/article/details/80872425 的说明,才明白为什么错了. 当使用Python3-pygame时出现Typ ...
- jquery validate 校验时,如果有type=hiddien
当校验时,不需要校验#warnId,否则会引起输入框#alarmtile里的样式混乱
- Spring核心概念
Spring是一个轻量级的企业级框架,提供了loc容器,aop实现,DAO/OR支持,Web集成等功能,目标是使现有的JAVA EE技术更易用,并促进良好的编程习惯. 依赖注入让组件之间以配置文件的形 ...
- crt证书iis 中引用 程序目录提示 System.UnauthorizedAccessException:拒绝访问
在站点根目录添加 Authenticated Users 权限
- idea的破解及相关安装
---- idea的破解 -javaagent:../bin/JetbrainsCrack-2.7-release-str.jar 复制到相关的idea配置文件 并将该Jar包复制到idea的bin目 ...
- js-notebook
注意DOM和BOM的区别,ECMAScript只针对js的语法核心,实际大部分浏览器里的js = ECMAScript + DOM + BOM, 而nodejs里就只包括core js 隐性的toSt ...
- python基础之作业2----购物车小练习
product_list = [ ("Iphone",6000), ("Mac pro",12800), ("Bike", ...
- 使用DD 创建SWAP
1创建所需swap空间的文件 + records in + records out bytes ( MB) copied, 2.01386 s, 52.1 MB/s[root@web01 ~]# ll ...