docker基本操作:安装部署、设置ssh远程登入、配置docker镜像文件并创建docker容器

Docker 是一个流行的应用程序容器化和部署平台,允许开发人员轻松地创建、部署和管理容器中的应用程序。

请注意运行此命令需要 root 或 sudo 权限,因此可能需要在命令前加上 sudo 并输入密码。

一、更新系统工具(ubuntu)

apt-get update

安装docker

apt-get -y install docker

查看docker版本

docker version

启动docker服务

systemctl start docker

二、一些基本操作

如果你使用的用户不是root,docker默认是只有root才能执行Docker命令,因此我们还需要添加用户权限:
sudo groupadd docker

添加当前用户到Docker用户组:

sudo gpasswd -a $USER docker

更新用户组:

newgrp docker
创建自己的容器
  1. 使用docker创建虚拟网络

docker network create --subnet=192.168.0.0/24  myInter
创建一个网段为192.168.0.0/24的虚拟网络,名字为myInter
docker network ls
该命令可以查看docker所有虚拟网络
  1. 创建容器(centos:7)

docker run -itd --name myd --net myInter --ip 192.168.0.2 --privileged=true centos:7 /sbin/init
"--privileged=true" 参数使得容器具有对主机系统设备和内核功能的完全访问权限。
容器运行的是 CentOS 7 镜像,主进程为 "/sbin/init"。
docker ps -a
该命令可以查看docker里面的所有容器,以及各个容器的状态信息
  1. 登入容器

docker exec -it myd /bin/bash
"-i" 参数表示将标准输入保持打开状态
"-t" 参数表示分配一个伪终端 (pseudo-TTY),使得我们可以像本地登录一样进行交互。
"/bin/bash" 指定了要启动的进程

登入容器后,该容器是contos7纯净的镜像,所以我们需要安装ssh服务才能通过远程访问

yum -y install net-tools openssh-server openssh-clients vim 
这个命令是在Linux操作系统中安装了一些常用的网络管理、SSH远程连接和文本编辑工具,具体包括:
net-tools:包括ifconfig、netstat等网络管理工具。
openssh-server:提供SSH服务端功能,允许其他计算机通过SSH安全连接到该计算机。
openssh-clients:提供SSH客户端工具,可用于与其他计算机建立SSH连接。
vim:一款常用的文本编辑器,比Linux自带的vi编辑器更强大。

配置sshd_config文件开启ssh端口和监听服务,配置容器密码

vim /etc/ssh/sshd_config
#将文件中,关于监听端口、监听地址前的 # 号去除

Port 22                    //端口
#AddressFamily any
ListenAddress 0.0.0.0      //监听地址
ListenAddress : :

保存退出后启动sshd服务

systemctl start sshd

查看sshd服务状态

systemctl status sshd

配置容器密码

passwd

可以测试通过ssh远程该容器

4.配置容器镜像基本命令

将ubuntu中的文件同步到容器文件

docker cp ubuntu文件路径 容器名:想要容器存放该文件的目录绝对路径
docker cp /opt/jkd-8 myd:/opt

配置容器镜像

#1.停止需要配置镜像的容器
docker stop myd  //启动stop改为start
#2.将容器配置为镜像
docker commit -m "my docker" myd centos:jdk
docker images
它会将当前运行的容器(myd)commit为一个新的映像,并指定该映像的元数据信息(-m "my docker")。最后,它给这个新映像起了一个名称(centos:jdk),其中"centos"是基础映像的名称,而"jdk"是这个新映像的标记。这个命令的作用类似于将容器打包成镜像,方便在其他地方部署和使用

可以使用我们自己创建好的镜像来创建别的容器,使用该镜像创建的容器会和我们打包的时候的机子内容文件相同

创建myd2容器:

docker run -itd --name myd2 --net myInter --ip 192.168.0.3 --privileged=true --add-host=myd:192.168.0.2  --add-host=myd2:192.168.0.3  centos:jdk /sbin/init
在一个名为 myd2 的容器中运行 CentOS 操作系统,并将其添加到一个名为 myInter 的 Docker 网络中。这个容器的 IP 地址被设置为 192.168.0.3,并分配了特权模式(privileged)以便容器可以执行特权操作。另外,该命令还使用了 --add-host 标志将两个主机名称关联到了两个 IP 地址上(myd:192.168.0.2 和 myd2:192.168.0.3)。最后,/sbin/init 是在容器中启动 init 进程的命令,init 进程是 Linux 中所有进程的起点

你可能感兴趣的:(大数据应用开发赛项,Linux,docker,docker,运维,linux)