docker命令

1. 概念

  1. 镜像 容器 仓库

2. 镜像

  1. 增 docker pull nginx
  2. 删 docker image rm
  3. 查 docker image ls
  4. 改 docker run -it nginx bash
  5. 1
    2
    i. docker commit  container_id image_name:tag
    ii. dockerfile
  6. FROM (多阶段)
    RUN
  7. docker build -t nginx:v3 .
  8. .dockerignore
    f.多种系统镜像 docker mainfest

3. 容器

a. 增:docker run

b. 删:docker container rm

c. 查:docker container ls

d. 改: docker container start stop restart

e. 入:docker exec

4. 仓库

a.dockerHub

i.搜索:docker search centos

i.推送:

1.docker tag centos:18.04 username/centos:18.04
2.docker push username/centos:18.04 (username为dockerhub账号)

b.私有仓库

i.安装

1.获取官方registry运行: docker run -d -p 5000:5000 –restart=always –name registry registry

ii.上传:

1.标志:docker tag ubuntu:lastest 127.0.01:5000/ubuntu:lastest
2.上传:docker push 127.0.0.1:5000/ubuntu:lastest

iii.下载:

1.docker pull 127.0.0.1:5000/ubuntu:lastest

5. 数据管理

a.数据卷

i.建:

1
1.docker volume create my-vol

ii.挂:

1
2
3
4
5
docker run -d -P \
--name web \
# -v my-vol:/usr/share/nginx/html \
--mount source=my-vol,target=/usr/share/nginx/html \
nginx:alpine

b.主机目录

1
2
3
4
5
docker run -d -P \
--name web \
# -v /src/webapp:/usr/share/nginx/html \
--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html \
nginx:alpine

6.网络

a.端口映射

1
2
3
4
docker run -d \
-p 80:80 \
-p 443:443 \
nginx:alpine

b.容器互联

i.新建网络

1.docker network create -d bridge my-net

ii.连接容器

1
2
3
1.docker run -it --rm --name busybox1 --network my-net busybox sh
2.docker run -it --rm --name busybox2 --network my-net busybox sh
3.ping busybox2