在自己服务器(ubnutu 16.04)上搭建docker开发环境(ubuntu16.04)实录(解决中文乱码问题以及各种问题)

我的环境:

服务器环境:ubuntu 16.04

准备安装的docker环境:ubuntu16.04

安装docker:

参考链接:菜鸟教程——docker安装

我是根据这个连接安装的docker,亲测无误,但是下面的问题,本人踩坑踩了两天才踩完(手动微笑.jpg),这里记录一下,给后来的人才铺路

拉取镜像:

docker的镜像需要从网上拉取,拉取之后,在这个镜像(image)的基础上运行自己的服务(称为容器,container),我们的修改都是在容器里的,所以运行容器之间一定要谨慎。

docker运行必须要超级管理员权限,所以可选下面命令(虽然可选,建议用一下,很方便):

# 此条命令是可选的
alias docker="sudo docker"

然后运行下面的命令拉取镜像(如果没执行上面可选命令,需要加sudo,下同 )

# 拉取ubuntu16.04的镜像。一般改个版本会有对应镜像。比如ubuntu:18.04
docker pull ubuntu:16.04

然后能看见上图的结果,提示pull complete算是完成成功。

执行下面命令查看已有的镜像:

# 执行下面命令检查自己已经有的镜像
docker images
# 或者
docker image ls

下图是输出结果,两个命令在我看来是一样的

运行一个容器:

就是开启一个“虚拟机”(原谅我不规范的说法,但是容易理解,上面看作下载镜像,现在看作根据镜像创建一个虚拟机)。

执行下面命令(请耐心看完这些注释,如果你搭建博客,请一定运行这个-p选项,如果运行后再修改就太麻烦了,不要问我为什么知道的。说多了都是泪)(这个test改成你自己的名字,否则最后就不好改了。真的):

# 请耐心看完这里的注释再执行命令
docker run -itd -p 0.0.0.0:80:80 --name test ubuntu:16.04

# 格式: docker run -itd -p IP:本机端口:容器端口 --name 容器名字 镜像名字
# -t 选项让Docker分配一个终端并绑定到容器的标准输入上(我们的键盘输入)
# -i 选项让容器的标准输入保持打开(一直能用)
# -d 选项让我们的容器在后台运行
# -p 选项,让我们本机的 0.0.0.0:80端口和容器的80端口打通(在容器中监听80端口
# 访问服务器时直接重定向到容器的80端口,如果用http服务比如博客,就需要这样,如果不需要,可以删除)

# --name test   给我们运行的这个容器起一个名字叫做 test
# 最后的 ubuntu:16.04  是我们使用 docker pull 命令拉下来的镜像名字,根据自己的镜像名字修改。

此时我们运行了一个容器,使用下面命令查看:

# 仅查看运行中的容器
docker container ls

# 查看所有容器(包含停止的容器)
docker container ls -a

下面命令是让你学习的,不是现在执行

# 删除一个镜像
docker rmi 镜像名字

# 停止运行一个容器
docker container stop 容器名字

# 删除一个容器
docker container rm 容器名字

# 重启一个容器
docker container restart 容器名字

# 启动一个容器
docker container start 容器名字

进入运行中的容器:

一定要保证你的容器再运行中,否则不行!!!!!具体命令参考上面学习的代码。

# 请看完注释再执行

docker exec -it test env LANG=C.UTF-8 /bin/bash

# 这个代码是进入我们的容器,以我们熟悉的命令行形式
# env 是使编码是可以适配中文的
# 如果还不能用中文,参考下图进行设置(我使用的Xshell)
# 我建议使用一个脚本,写入这个命令,然后sudo 运行脚本即可进入容器,要不然太麻烦

如果中文乱码,按照下图设置Xshell(如果你用的别的终端,换成Xshell吧,很好用的东西)

否则,会出现中文无法正常使用的现象。

执行后就进入了终端,是下面的现象:

如图,我就是将上面的命令写入一个文件,下图是文件内的命令:

打码部分是你的容器的名字。

退出容器:

相当于退出一个终端,使用 exit 或者 <ctrl+d>命令

配置容器:

进入容器之后,这时候的容器很精简,除了基本命令什么都没有。

在容器里只有超级管理员,不需要加sudo。

如果你的网络不能访问或者访问ubuntu源很慢,需要配置源(如果对自己网络有自信,可以跳过这一步)

# 进入到这个目录
cd /etc/apt/
# 备份源文件
cp sources.list sources.list.back

# 下面是难点,因为此时容器里没有任何编辑器,所以需要手动做下面的内容

# 清空这个源文件
echo "" > sources.list
# 下面我以腾讯源做例子,大家可以直接复制粘贴。注意这里是双箭头
# 大家一行一行的执行,不要一下执行完了
echo "deb http://mirrors.tencentyun.com/ubuntu/ xenial main restricted universe multiverse" >> sources.list
echo "deb http://mirrors.tencentyun.com/ubuntu/ xenial-security main restricted universe multiverse" >> sources.list
echo "deb http://mirrors.tencentyun.com/ubuntu/ xenial-updates main restricted universe multiverse" >> sources.list

echo "deb-src http://mirrors.tencentyun.com/ubuntu/ xenial main restricted universe multiverse" >> sources.list
echo "deb-src http://mirrors.tencentyun.com/ubuntu/ xenial-security main restricted universe multiverse" >> sources.list
echo "deb-src http://mirrors.tencentyun.com/ubuntu/ xenial-updates main restricted universe multiverse" >> sources.list

然后使用下面命令:

cat sources.list

查看是不是如下内容

如果是,说明源配置没问题了。

更新软件:

apt-get update
apt-get upgrade

然后如果没问题,你就可以安装你想安装的任意东西(比如vim,比如lrzsz,比如)!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读