赞
踩
- curl -sSL https://get.docker.com/ | sh
-
- centos6 epel
- yum install -y docker-io
-
- centos 7
- yum install -y docker-engine
-
- service docker start
- service docker stop
- service docker restart
- docker info
- 文件位置 /var/lib/docker
- 官方网站查找 https://hub.docker.com/
- docker search centos(镜像名称)
- --automated 自动化选项
- --no-trunc 显示完全ID
- -s 最低星级 25个结果
docker search -s 3 centos
- docker pull <镜像名称>:<标签>
- docker pull centos
- -a 所有镜像
- docker daemon启动参数 "--insecure-registry=0.0.0.0/0"
- /etc/default/docker
- DOCKER_OPTS="--REGISTRY-MIRROR=https://www.daocloud.io"
- docker daemon启动参数 "--insecure-registry=0.0.0.0/0"
- docker images
- -a 显示所有镜像
- -f 过滤条件
- -no-trunc 显示完全ID
- -q 唯一ID
- docker run <选项><镜像名称><要运行的文件>
- docker run -dti -p 80:80 -v /root/data:/data hello:1.0 --name hello-nginx
- docker run -d -p 8000:8000 --restart=always --name ngng -v /data/registry:/var/lib/registry registry:2
- 后台运行容器 容器端口:宿主机端口 容器异常重新启动 启动容器名称 位置映射、宿主机位置:容器位置 镜像名称或者ID
-
- -d 后台运行
- -i(interactive)、-t(Pseudo-tty)运行Bash shell中进行输入输出
- --name 指定容器名称,若不指定则自动生成
- -p 主机端口与容器端口连接,并暴露到外部
- -v 主机/root/data目录连接到容器的/data目录
- docker ps
- -a 显示所有的容器
- docker start <容器名称> 或 容器ID
- docker start hello
- docker restart <容器名称> 或 容器ID
- docker restart hello
- docker attach <容器名称> 或 容器ID
- docker attach hello(NAMES)
-
- 注意:
- 在Bash shell中输入 Ctrl + D 或者 exit,表示停止并退出docker容器。
- 若依次输入Ctrl + P、Ctrl + Q,则不会终止容器而只是推出。
- docker exec <容器名称><命令><形式参数>
- docker exec -ti 容器ID
- docker exec registry ip add
- docker stop <容器名称> 或 容器ID
- docker ps
- docker stop hello
- docker rm <容器名称> 或 容器ID
- docker rm hello
- docker ps -a
- docker rmi <镜像名称>:<标签> 或 容器ID
- docker rmi hello
- -f 强制删除
- --no-trunc 删除没有标签的
-
- # 删除所有镜像
- docker rmi $(docker images -qa)
- docker build <选项><Dockerfile路径>
- docker build --tag hello:1.0
docker cp <容器名称>:<路径> <主机路径>
docker cp 2e52e426f849:/etc/hosts ./
docker cp fervent_lumiere:/etc/host.conf /opt/
- docker history <镜像名称>:<标签> 或 容器ID
- docker history hello:1.0
- docker history tobegit3hub/seagull:latest
- docker commit <选项> <容器名称> <镜像名称>:<标签>
- docker commit -a "chengfeng <chengfeng56@qq.com>" -m "add hello.txt" fervent_lumiere tobegit3hub/seagull:latest
- docker diff <容器名称> 或 容器ID
- docker diff hello-nginx
- A 为添加的文件
- C 为修改的文件
- D 为删除的文件
- docker inspect <镜像或者容器名称>
- docker inspect hello-nginx
- docker tag <镜像名称>:<标签> <Docker registry URL>/<镜像名称>:<标签>
- docker tag hello:1.0 localhost:5000/hello:1.0
- docker pull registry:latest
- docker run -d -p 5000:5000 --name hello-registry -v /tmp/registry:/tmp/registry registry
- 运行后,镜像文件存储到主机的/tmp/registry目录。
- docker push <Docker registry URL>/<镜像名称>:<标签>
- docker push localhost:5000/hello:1.0
- docker rmi <Docker registry URL>/<镜像名称>:<标签>
- docker rmi dev.dockcloud.cn/busybox:0.1
docker logs <容器名称或ID>
docker stats <容器名称或ID>
docker top <容器名称或ID>
docker port <容器名称或ID>
docker update <容器名称或ID>
docker export <容器名称或ID>
docker import <容器名称或ID>
- docker commit 运行中docker ID
- -a 添加作者
- -m 描述
- docker save 镜像 ID
- # 保存镜像id
- docker tag 56d3dc08212d registry.chinadaas.com/pubilc/elasticsearch:6.3.0
-
- # 保存标签
- docker save -o elastic.tar.gz registry.chinadaas.com/pubilc/elasticsearch:6.3.0
docker load 镜像 ID
- docker run -dti -v /web-data:/tmp:ro --name data-container app
- docker run -dti --volumes-from data-container --name web-container apps
- docker run -dti --volumes-from data-container --name web2-container apps
- # -v 宿主机目录:容器目录
- 容器卷 主机卷
- docker镜像
- 通过docker build -t . 执行 dockerfile文件制作
-
- FROM centos:7
- RUN yum install -y epel-release && \
- yum install -y nginx && \
- yum clean all
- EXPOSE 80 443
- CMD ["nginx", "-g", "daemon off;"]
-
- 容器卷
- FROM centos:7
- RUN yum install -y epel-release && \
- yum install -y nginx && \
- yum clean all
- EXPOSE 80 443
- VOLUME ["/usr/share/nginx/html"]
- CMD ["nginx", "-g", "daemon off;"]
-
- 删除带容器卷的容器
- docker rm -f -v 容器ID

docker rm $(docker ps -q -a)
docker rmi $(docker images -q)
docker rm $(docker ps -a -q -f status=exited)
docker rmi -f $(docker images |grep "<none>" | awk "{print \$3}")
- 在环境变量内添加
- cat >> /root/.bashrc << EOF
- # set docker-enter
- alias docker-pid="sudo docker inspect --format '{{.State.Pid}}'"
- alias docker-ip="sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
- function docker-enter() {
- if cpid=`docker-pid $1`;then
- sudo nsenter --target $cpid --mount --uts --ipc --net --pid
- fi
- }
- EOF
-
- source /root/.bashrc
- docker run -dti -p 80:80 --name app -v /web-data:/tmp app
- docker run -dit -p 8080:80 --name apps -v /web-data:/tmp apps
docker run --rm --volumes-from dbdata -v $(pwd):/backup centos tar cvf /backup/backup.tar /dbdata
docker run --rm --volumes-from dbdata2 -v $(pwd):/backup centos bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"
docker run -dit --name busybox1 busybox:latest
docker run -dti --name busybox2 --net=container:busybox1 busybox sh
docker run -dti --name db mongo
docker run -dit --name web -p 80:80 --link db:db nginx
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。