docker相关总结


Dockerfile 示例

FROM ubuntu:16.04
RUN groupadd --gid 1000 pan \
    && useradd -rm -d /home/pan -s /bin/bash -g root -G sudo -u 1000 pan \
    && apt-get update \
    && apt-get install sudo -y \
    && echo "root:12345678" | chpasswd \
    && echo "pan:12345678" | chpasswd 
USER pan
WORKDIR /home/pan
EXPOSE 22

解释

  • 基于ubuntu16.04
  • 添加组pan gid为1000
  • 添加用户pan uid为1000
  • 更新&安装sudo
  • 更改root密码
  • 暴露22 端口

Dock Build

docker build -t ubuntu:pan .

解释

  • 根据当前目录下的Dockerfile,创建 ubuntu:pan 镜像,并打包当前目录所有内容

运行容器

docker run -itd --name ubuntu-1604 \ 
        -v /home/pan:/home/pan \
        -p 127.0.0.1:10022:22 \ 
        -u "$(id -u):$(id -g)" \
        -e "DOCKER_USER=$USER" \
        --hostname pan ubuntu:pan 

解释

  • 创建容器 ubuntu-1604
  • 挂载主机目录/home/pan到容器目录/home/pan
  • 端口映射主机10022到容器22
  • 指定容器运行的uid和gid
  • 指定docker用户
  • 指定容器hostname

安装相关软件

sudo apt-get install htop
sudo apt-get install openssh-server
sudo apt-get install net-tools
sudo apt-get install lib32z1
sudo apt-get install intltool
sudo apt-get install lib32ncurses5 lib32tinfo5 libc6-i386
sudo apt-get install lib32stdc++6
sudo apt-get install libssl-dev

文章作者: Mr.Pan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mr.Pan !
  目录