docker入门持续交付之路

安装Docker | 服务相关

wget -qO- https://get.docker.com/ | sh

# 以非root用户可以直接运行docker
sudo usermod -aG docker 主机用户名

# 启动docker
sudo service docker start

# 登陆本地机器上的docker公用镜像库
docker login

镜像加速

# 在该配置文件中加入(没有该文件的话,请先建一个)
# sudo vim /etc/docker/daemon.json
{
  # "registry-mirrors": ["http://hub-mirror.c.163.com"]
  # "registry-mirrors": ["https://registry.docker-cn.com"]

}

容器相关

# 启动容器
docker start Names

# 正在运行的容器需要重启
dicker restart 容器id / Names

# -t:在新容器内指定一个伪终端或终端
# -i:允许你对容器内的标准输入 (STDIN) 进行交互
# -d:让容器在后台运行。
# -P:将容器内部使用的网络端口映射到我们使用的主机上。
docker run 参数 (--name 命名) 容器 命令

# 平稳关闭容器
docker stop 容器id / Nacmes
# 强制关闭指定的容器
docker kill 容器id / Nacmes

# 删除容器(必须是停止状态)
docker rm Names
# 删除所有容器
docker rm $(docker ps -a -q)

# 停止所有容器
docker stop $(docker ps -a -q)

查看正在运行的Dokcer

docker ps

端口

# docker ps
    # 0.0.0.0:32769->5000/tcp
    # Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上
    # ip:32769可以访问

# 绑定指定端口或者网络地址
# -P :是容器内部端口随机映射到主机的高端口。
# -p : 是容器内部端口绑定到指定的主机端口。
# 默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp
docker run -d -p 5000:5000 镜像 *.py
docker run -d -p 网络地址:端口:5000 镜像 *.py

# 查看指定容器的某个确定端口映射到宿主机的端口号
docker port 容器id / Names

查看容器标准输出

# -f 输出容器内部的标准输出
docker logs -f 容器id

查看进程

docker top Names

查看Dokcer所有命令选项

docker

# 查询指定命令深层参数
docker stats --help

查看Dokcer底层信息

 docker inspect Names

镜像相关

# 列出存在镜像
docker images

# 获取一个新镜像
docker pull docker pull 镜像:版本

# 查找镜像
docker search 镜像名字

# 创建镜像
    # 1.从已经创建的容器中更新镜像,并且提交这个镜像
    # 2.使用 Dockerfile 指令来创建一个新的镜像

# 更新镜像
    # 先创建一个容器
    docker run -t -i 镜像 命令
    # 在运行的容器内使用apt-get update命令进行更新
    # exit()退出当前环境
    docker commit -m="提交信息" -a="指定作者" 容器id 新镜像名字

# 构建镜像
# 在自己的系统里创建一个Dockerfile文件,包含以下命令
    FROM    镜像源
    MAINTAINER      Fisher "[email protected]"

    RUN     /bin/echo 'root:123456' |chpasswd
    RUN     useradd runoob
    RUN     /bin/echo 'runoob:123456' |chpasswd
    RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
    EXPOSE  22
    EXPOSE  80
    CMD     /usr/sbin/sshd -D
    # -t :指定要创建的目标镜像名
    # .  :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
    # 终端输入
    docker build -t 镜像 .
    # 在拉一个镜像

# 设置镜像TAG
docker tag 容器id 镜像:标签

# 删除镜像
docker rmi 容器id
# 删除全部镜像
docker rmi $(docker images -q)
# 删除镜像标签
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

# 导出镜像
sudo docker save -o ./压缩文件.tar Names
# 导入镜像
# 恢复权限 rw- --- ---
sudo docker load < 压缩文件.tar

# 推送镜像
# 1.准备一个镜像
# 2.给镜像打tag
# 3.docker push 用户名/仓库:②里面的tag

# 从远程仓库拉一个镜像
docker run -p 4000:80 用户名/仓库:tag

猜你喜欢

转载自blog.csdn.net/qq351469076/article/details/79278368