docker环境安装及运行
docer环境的安装部署
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
判断docker是否安装成功
# 从 Docker Hub 上下载helle-world镜像
sudo docker pull helle-world
# 运行该镜像
sudo docker run helle-world
# 输出以下内容及为成功
Hello from Docker!
This message shows that your installation appears to be working correctly.
......
制作docker镜像--->编写Dockerfile
# Dockerfile 样例
FROM ubuntu:18.04 # 添加基础镜像
COPY . /run # 将需要添加到镜像的文件放到run目录下
# 操作指令放在Run后面执行,多个指令用&&分隔
RUN chmod -R 777 /run &&\
rpm -ivh *.rpm
ENV TZ=Asia/Shanghai # 设置时区,推荐上海时区
EXPOSE 8080 # 暴露端口
WORKDIR /run/ # 切换工作目录
CMD ["bash","start.sh"] # docker镜像生成并安装到服务器后,执行该命令,启动系统,start.sh 即需要部署在docker中的程序的启动脚本
制作docker镜像--->创建镜像
# 将Dockerfile,start.sh,及需要上传的文件放到同一目录(例:Dockerfile_D)
# 创建镜像
sudo docker build -t <镜像名> <Dockerfile_D路径>
例: sudo docker build -t test_docker /home/name/Dockerfile_D
启动镜像
sudo docker run -p 8080:8080 --restart=always --privileged=true -v /home/name/docker/dockershare:/run/test test_docker
# sudo docker run <镜像名> 启动该镜像
# -p 8080:8080 将docker容器的8080端口映射到主机的8080
# --restart=always 容器(比如服务类容器)因某种错误而停止运行时,能够自动重启
# --privileged=true
# -v 创建docker 容器与实体机的共享文件夹
# /home/name/docker/dockershare 为实体机文件加路径,在该路径下的文件会出现在容器系统的/run/test文件夹中
# /run/test 为docker 容器文件加路径
# test_docker 为需要启动的镜像名称
进入容器
# 查看正在运行的容器
sudo docker ps # 查看正在运行的容器
sudo docker ps -a # 查看所有容器
# 进入容器
sudo docker exec -it <容器id> /bin/bash
例:sudo docker exec -it a404c6c174a2 /bin/bash
将容器提交为新的镜像
sudo docker commit -a "作者" -m "描述" <镜像id> <镜像名>
例:docker commit -a "name" -m "my test_docker" a404c6c174a2 test_docker
docker常用命令
https://www.hangge.com/blog/cache/detail_2402.html
遇到的问题
# docker ubuntu中安装ping命令
apt-get update
apt-get upgrade
apt-get install inetutils-ping
# docker ubuntu中安装db2时缺少libail.so.1
apt-get install libaio1 libaio-dev
# docker ubuntu中安装python3.7
apt-get install python3.7 # 若系统版本太低可能不支持

浙公网安备 33010602011771号