Docker入门

2019-12-10  本文已影响0人  无心Y

docker 概念

docker安装

# install in centos by yum
>>>yum install -y docker

# install by scripts
>>>yum update
>>>curl -fsSL https://get.docker.com/ | sh

# install in ubuntu
>>>sudo apt-get remove docker docker-engine docker.io containerd runc #      1. 卸载旧版本
>>>sudo apt-get update # 2. 更新软件包
>>>sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent \
    software-properties-common # 3. 安装依赖包
>>>curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 4. 添加Docker官方GPG密钥
>>>sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 5. 添加存储库
>>>sudo apt-get install docker-ce docker-ce-cli containerd.io # 6. 安装docker

# 配置镜像源
>>>sudo vim /etc/docker/daemon.json  添加以下内容
{
    "registry-mirrors": ["https://49lr97vi.mirror.aliyuncs.com"]
}
>>>sudo systemctl daemon-reload
>>>sudo systemctl restart docker

docker服务启停

docker镜像操作

docker容器操作

>>>sudo docker run \
                -d #后台运行
                -e "k=v" #设置环境变量
                -v {local_path}:{container_path} #本地文件挂载至容器
                -p {local_port}:{container_port} #本地端口映射容器端口
                --name {container_name}          #容器名
                {image}

docker-file生成镜像

# 1. 基础镜像: 表示在 ubuntu 镜像基础上进行扩展
FROM ubuntu

# 2. 维护者信息: 填写维护者的信息
MAINTAINER qianyin qianyin95@gmai.com

# 3. 镜像操作指令: 对镜像进行扩展, 安装 vim 工具
RUN apt-get update && apt-get install -y vim

# 4. 容器启动时执行指令: 指定新建容器在每次运行时需要执行的命令
CMD bash

# 5. 配置每次容器启动后需要执行的命令
ENTRYPOINT apt-get update

# 6. 配置容器内环境变量 ENV [键] [值]
ENV PATH /usr/local/postgres-$PG_MAJOR/bin:$PATH

# 7. 配置容器向外暴露指定端口号
EXPOSE [1194/udp, 27017, 8080]

# 8. 设置容器允许被挂载的目录或文件
VOLUME ["/etc/openvpn"]

# 9. 往容器添加文件 ADD [源路径] [目标路径]
ADD ./bin /usr/local/bin

# 10. 往容器拷贝本地文件 COPY [源路径] [目标路径]
COPY ./bin /usr/local/bin

# 11. 指定运行容器时的用户
USER root

# 12. 为容器配置工作目录
WORKDIR /home

# 13. 设置当所创建的镜像被作为基础镜像时需要执行的命令 ONBUILD [DockerFile 指令]
ONBUILD ADD . /app/src
ONBUILD RUN /usr/local/bin/python-build --dir /app/src
# -t 指定构建出镜像的 [名称]:[标签] -f 指定Dockerfile路径
# 最后的./docker指定当前构建的context所在的位置,依赖的包可置于该路径下
>>>sudo docker build -t vim-ubuntu:1.0 ./docker

# 构建完运行容器并执行 vim --help 将会显示 vim 的帮助信息
>>>sudo docker run vim-ubuntu:1.0 vim --help

docker-compose

应用实例

通过docker快速搭建nginx服务
  1. 服务nginx相关配置
    • sudo mkdir conf
    • sudo docker cp $(sudo docker run -d --name tmp-nginx nginx):/etc/nginx/nginx.conf ./conf/nginx.conf 拷贝默认配置文件至本地
    • sudo docker rm -rf tmp-nginx 删除临时容器
  2. 运行容器
>>>sudo docker run \
                -d
                -p 8081:80 #本地8081端口映射至容器80端口
                -v $PWD/html:/usr/share/nginx/html \
                -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
                -v $PWD/logs:/var/log/nginx #本地文件挂载至容器
                --name nginx-web \
                nginx
>>>sudo chmod -R 777 conf html logs
上一篇下一篇

猜你喜欢

热点阅读