Docker的初步使用

2018-10-03  本文已影响0人  请不要问我是谁

在安装Docker之前,首先需要先更新apt,安装CA证书,因为访问Docker用的是https协议

    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates

添加新的GPG key

    sudo apt-key adv \
                   --keyserver hkp://ha.pool.sks-keyservers.net:80 \
                   --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Ubuntu系统添加Docker源

echo deb https://apt.dockerproject.org/repo ubuntu-xenial main | sudo tee /etc/apt/sources.list.d/docker.list

更新apt包索引

sudo apt-get update

可以用如下方式验证下是否从正确的仓库拉取安装包

apt-cache policy docker-engine

安装Docker

sudo apt-get install docker-engine

开启Docker服务,此后开机docker都是自动开启的。

sudo service docker start

运行Docker官方提供的hello-world程序检测Docker安装运行成功

sudo docker run hello-world

docker默认是只有root才能执行Docker命令,因此我们还需要添加用户权限,创建docker用户组:

sudo groupadd docker

一般提示docker用户组已存在。
添加当前用户到Docker用户组:

sudo usermod -aG docker $USER

$USER表示当前用户名,然后注销,再次登录即可不用root权限使用Docker了。
在Docker上安装Ubuntu:

docker pull ubuntu

docker pull命令表示从Docker hub上拉取Ubuntu镜像到本地;这时可以在终端运行以下命令查看是否安装成功

docker images

docker images表示列出Docker上所有的镜像;镜像也是一堆文件,我们需要在Docker上开启这Ubuntu系统;在启动Ubuntu镜像时,需要先在个人文件下创建一个目录,用于向Docker内部的Ubuntu系统传输文件;命令如下:

    cd ~
    mkdir build

在Docker上运行Ubuntu系统:

docker run -it -v /home/ghost/build:/root/build --name ubuntu_test ubuntu

这里解析下这个命令参数:

apt-get update

安装vim,ssh

apt-get install vim
apt-get install ssh

行如下脚本开启sshd服务器:

/etc/init.d/ssh start

设置每次登录Ubuntu系统时,都能自动启动sshd服务:
在~/.bashrc最后添加

/etc/init.d/ssh start

配置ssh无密码连接本地sshd服务

    ssh-keygen -t rsa #一直按回车键即可
    cat root/.ssh/id_dsa.pub >> root/.ssh/authorized_keys

安装JDK:

apt-get install openjdk-8-jdk

在bashrc中配置环境变量:

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
    export PATH=$PATH:$JAVA_HOME/bin

Docker内部的容器做的修改是不会自动保存到镜像的,也就是说,我们把容器关闭,然后重新开启容器,则之前的设置会全部消失,因此我们需要保存当前的配置;为了达到复用配置信息,我们在每个步骤完成之后,都保存成一个新的镜像,然后开启保存的新镜像即可。

docker login

输出相应的用户名和密码即可,登录过一次即可。
查看当前容器的镜像id:

docker ps

docker ps查看正在运行的容器,加上-a可以查看所有启动过的容器。
保存当前镜像:

docker commit  $container_id $image_name

输出所有镜像查看是否保存成功:

docker images

让容器在后台运行:
按Ctrl+P, Ctrl+Q退出。
重新进入后台运行的容器:

docker attach $container_id

删除容器

docker rm $container_name

删除镜像:

docker rmi $docker_image_name

上传本地镜像到docker hub:

docker login
docker tag hadoop_installed ghsotkun/hadoop_installed:latest # 需要将镜像名字修改为$dockerhub_name/$image_name 格式
docker push ghsotkun/hadoop_installed

拉取docker hub的镜像

docker pull ghsotkun/hadoop_installed
上一篇 下一篇

猜你喜欢

热点阅读