Docker

安装

1.配置宿主机网卡转发

 cat <<EOF >  /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF

2.配置

curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all && yum makecache
yum list docker-ce --showduplicates | sort -r  #查看源中可用版本
yum install -y docker-ce-18.09.9
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://8xpk5wnt.mirror.aliyuncs.com",
    "https://dockerhub.azk8s.cn",
    "https://registry.docker-cn.com",
    "https://ot2k4d59.mirror.aliyuncs.com/"
  ]
}
systemctl enable docker  
systemctl daemon-reload
systemctl start docker 

镜像操作

docker images    #查看所有镜像
docker pull nginx:alpine  #拉取镜像
docker save -o nginx_alpine.tar nginx:alpine   #导出镜像到文件中
docker load -i nginx_alpine.tar     #从文件中加载镜像
docker tag nginx:alpine 192.168.188.8:5000/nginx:alpine  #推送本地镜像到本地仓库
docker push 192.168.188.8:5000/nginx:alpine #从本地仓库拉取
docker rmi nginx:alpine  #删除镜像

仓库操作

建立本地仓库

docker run -d -p 5000:5000 --restart always -v /opt/registry-data/registry:/var/lib/registry --name registry registry:2
## 默认仓库不带认证,若需要认证,参考https://docs.docker.com/registry/deploying/#restricting-access
##通过配置daemon的方式,来跳过证书的验证。
cat /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://8xpk5wnt.mirror.aliyuncs.com",
    "https://dockerhub.azk8s.cn",
    "https://registry.docker-cn.com",
    "https://ot2k4d59.mirror.aliyuncs.com/"
  ],
  "insecure-registries": [
     "192.168.188.8:5000"
  ]
}
systemctl restart docker

容器操作

docker run --name nginx -d nginx:alpine  #后台启动
docker run --name nginx -d -p 8080:80 nginx:alpine  #把容器的端口映射到宿主机
docker run --name nginx -d  -v /opt:/opt -v /var/log:/var/log nginx:alpine #挂载主机目录
docker run --name nginx -d -v my-vol:/opt/my-vol nginx:alpine  # 使用volumes卷
docker exec -ti nginx /bin/sh  #进入容器
docker logs nginx   #查看容器日志
docker inspect nginx  #查看容器详细信息,包括容器IP地址等
docker stop nginx
docker rm nginx
docker rm -f nginx   #删除运行的容器

应用容器化实践

1.写配置文件

# This my first django Dockerfile
# Version 1.0

# Base images 基础镜像
FROM centos:centos7.5.1804

#MAINTAINER 维护者信息
LABEL maintainer="inspur_lyx@hotmail.com"

#ENV 设置环境变量
    ENV LANG en_US.UTF-8
    ENV LC_ALL en_US.UTF-8

#RUN 执行以下命令
RUN curl -so /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install -y  python36 python3-devel gcc pcre-devel zlib-devel make net-tools

#工作目录
WORKDIR /opt/myblog

#拷贝文件至工作目录
COPY . .

#安装nginx
RUN tar -zxf nginx-1.13.7.tar.gz -C /opt  && cd /opt/nginx-1.13.7 && ./configure --prefix=/usr/local/nginx \
&& make && make install && ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

RUN cp myblog.conf /usr/local/nginx/conf/myblog.conf

#安装依赖的插件
RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt

RUN chmod +x run.sh && rm -rf ~/.cache/pip

#EXPOSE 映射端口
EXPOSE 8002

#容器启动时执行命令
CMD ["./run.sh"]

2.构建镜像

docker build . -t blog:v1 -f Dockerfile  #构建基础镜像

3.启动

docker run -d -p 3306:3306 --name mysql  -v /opt/mysql/mysql-data/:/var/lib/mysql -e MYSQL_DATABASE=myblog -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 8002:8002 --name blog -e MYSQL_HOST=192.168.188.8 -e MYSQL_USER=root -e MYSQL_PASSWD=123456  blog:v1
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇