docker学习笔记
1、docker安装:官网学习(https://docs.docker.com/engine/install/centos/)
2、docker架构:
3、docker命令集合
1、docker images 列出所有镜像
2、拉取镜像:docker pull centos:版本(:版本没有的话下载最新的版本镜像)
如果拉取docker hub太慢可以配置镜像加速器(例子:进入阿里云,在产品中的“弹性计算”中的“镜像容器服务”中的控制台,找到加速镜像加速器选项)
3、查找镜像:例如--》docker search tomcat
4、删除镜像 doker rmi 名称/id(空格间隔可以删除多个镜像)
5、删除容器 doker rm
6、创建交互式容器:
docker run -i -t --name=唯一名称 centos(镜像名称) /bin/bash
or
docker run -it --name 名称 centos /bin/bash
-i:交互式容器
-t:分配tty终端,操作容器
--name:指定容器的名称(唯一)
7、docker run -d --name 名称 。。。。(守护式容器)
8、查看正在运行中的容器:docker ps
9、查看运行过的容器:docker ps -a
10、进入容器:attech运行 后exit 命令后,容器停止了,exec不会
docker exec -it 名称 /bin/bash
11、停止/启动对应的容器 docker stop/start 容器名称
12、查看容器日志:docker logs 容器名称/id
13、宿主机和容器间的文件拷贝:
宿主机--》容器:docker cp 文件 容器名称:存放的路径
容器---》宿主机:docker cp 容器名称:存放的路径 宿主机的路径
14、创建宿主目录与容器内的目录进行映射
docker run -id --name=名称 -v /宿主路径/:容器目录 镜像名称 /bin/bash
15、docker镜像的制作(制作自己的镜像 通过docker images查看)
1、docker commit 容器名称 生成的镜像名称
16、docker镜像打包 :
docker save -o 存放路径.tar 镜像名称
17、把打包的镜像发送到其他服务器上:
scp 打包的镜像 接受服务器ip:目录路径
18、接收到镜像文件后,导入镜像文件
docker load -i tar包的路径
19、容器打包:
docker export -o 存放路径.tar 容器名称
容器导入:
docker import tar名称 容器名称
20、获取容器ip:
for i in $(docker ps -qa);do docker inspect $i |grep -i ipaddr |tail -1|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}";done
21、批量删除容器:
docker ps -aq|xargs docker rm -f
22、Dockerfile的方式生成镜像
FROM docker.io/centos
MAINTAINER xiaoqi xiaoqi@192.com
RUN yum install -y pcre-devel openssl openssl-devel gcc wget vim net-tools make gcc+
RUN useradd www -M -s /sbin/nologin
RUN cd /usr/local/src && wget http://nginx.org/download/nginx-1.8.0.tar.gz && tar -zxvf nginx-1.8.0.tar.gz
RUN cd /usr/local/src/nginx-1.8.0 && ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install
ENTRYPOINT /usr/local/nginx/sbin/nginx && tail -f /usr/local/nginx/logs/access.log
docker build -t 名称 . (注意后面的符合点)
23、 镜像上架到docker仓库(官网账号1070237829)https://hub.docker.com/repository/create?namespace=1070237829
1、打标签:docker tag local-image:tagname new-repo:tagname
2、上架到docker hub:docker push new-repo:tagname
例子:docker pull hello-world
docker tag hello-world:latest 1070237829/test-hello-world:v1
docker push 1070237829/test-hello-world:v1
如果上传失败可能是你忘记docker login了
24、阿里云仓库的创建(https://www.aliyun.com/product/acr?spm=5176.19720258.J_8058803260.54.5edb2c4a2dPalt)
在阿里云的容器镜像服务里面,步骤也在里面都有
25、1)创建私有仓库 2)配置私有仓库认证 可以看docker分类中详细说明
26:docker的网络管理
2查看使用bridge网络方式的容器有哪些
docker network inspect bridge