docker创建并运行ubuntu16.04容器

白昼怎懂夜的黑 提交于 2020-10-05 06:36:44

docker创建ubuntu16.04 容器


上文写到,docker创建并运行centos7容器
本篇主要是 docker创建并运行ubuntu16.04容器,依赖上文原有配置


在这里插入图片描述


宿主机创建容器前,准备工作

  • 拉取ubuntu16.04镜像
sudo docker pull ubuntu:16.04
  • 查看镜像列表
sudo docker images
  • 创建容器前准备工作,先把宿主机系统防火墙起开,放通端口
    可参考之前blog:Linux系统防火墙放行端口
    此处是

  • 查看系统防火墙状态

systemctl status firewalld
  • 开启系统防火墙
systemctl start firewalld
  • 放行端口
firewall-cmd --zone=public --add-port=10023/tcp --permanent && \
firewall-cmd --zone=public --add-port=10081/tcp --permanent && \
firewall-cmd --reload
  • 查看放通的端口列表
firewall-cmd --list-port
  • 若要再关闭系统防火墙
systemctl stop firewalld

创建并启动 ubuntu16.04容器

$ sudo docker run -it --name u16-d1 --privileged -p 10023:22 -p 10081:80 -h u16-docker-1 -v /home/fendouge/container/u1604-d-1:/home/u16-d1-ys ubuntu:16.04 /bin/bash
参数: 说明:
-it 终端运行方式,若用-d参数发现不行,故用此
–name 创建的容器名,方便启动、关闭、重启、删除容器等操作
–privileged 加上之后容器内部权限更多,不会出现权限问题
-p 10022:23 -p 10081:80 指定端口映射,可同时放通多个端口
-h u16-docker-1 指定容器主机名
-v /home/fendouge/container/u1604-d-1:/home/u16-d1-ys 宿主机目录映射到容器内部目录
**ubuntu:16.04 ** 本地ubuntu镜像版本
/bin/bash 启动方式

进入容器

sudo docker exec -it u16-d1 /bin/bash
参数 说明
exec 执行进入容器参数
-it 终端模式显示
u16-d1 创建时的容器名
/bin/bash 启动方式

然后退出容器 u16-d1

sudo docker ps -a

发现容器已经关掉,下面这条命令起开

sudo docker start u16-d1

再进入容器

sudo docker exec -it u16-d1 /bin/bash

在容器内部操作

  • 先初始化 apt-get
apt-get update
  • 安装 vim编辑器
apt-get install vim

配置 apt-get 更新源

可参考之前 blog :ubuntu12.04配置apt-get更新源

cd /etc/apt/
mkdir sources.bak
mv sources.list sources.bak/
  • 重新编辑新的sources.list
vim sources.list
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  • 更新 apt-get
apt-get update
  • 安装 net-tools
apt-get install net-tools
  • 查看网络测试
ifconfig
  • 安装防火墙 ufw
apt-get install ufw
  • 安装 openssh-server,并启动ssh服务
apt-get install openssh-server
/etc/init.d/ssh start
/etc/init.d/ssh status
ssh-keygen -t rsa

创建 ubuntu16.04 容器 root 用户密码

passwd root
  • 查看容器 ubuntu16.04 版本信息
cat /etc/issue
cat /etc/lsb-release

使用xshell远程前,必须对容器配置/etc/ssh/sshd_config做修改

可参考之前blog:[ubuntu安装ssh及远程登录一系列问题](https://blog.csdn.net/frdevolcqzyxynjds/article/details/105282343)

  • 修改配置文件 /etc/ssh/sshd_config
vim /etc/ssh/sshd_config
  • PermitRootLogin prohibit-password这一行注释掉,换成下面这行
PermitRootLogin yes
  • 然后重启 ssh 服务
/etc/init.d/ssh restart

然后本地xshell远程
宿主机(云服务器公网或vmware虚拟机在局域网的) ip:10023
宿主机ip:映射的容器端口port


— —

待续……

创作辛苦!

您的每一个赞就是我努力的前进动力!

更多精彩,请关注本博主!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!