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