Git Product home page Git Product logo

docker-env's People

Contributors

alesparza avatar benbarba avatar joshmhanson avatar kuang-da avatar nathan-duddles avatar xinhuili-penn avatar zhileiz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-env's Issues

Add `net-tools` to docker environment

We suggest to students to use netstat which requires installing net-tools with sudo permissions. Some students are scared to modify the docker environment, so we should just install this for them from the get-go.

The demo is showing how to use "netstat" to see ports in use, etc. When I tried to run this, I received a message that "netstat: command not found."

Based on an internet search, I tried installing netstat with

$ sudo apt update
$ sudo apt install net-tools

The terminal then asked for a password for cit595. I didn't recall setting any ubuntu password, and was nervous about trying to reset docker.

Any suggestions?

Redo Command Line and Github TA demos using Docker

We currently have multiple resources for Git and Github, some mentioning/using Vagrant.

In Week 1:

Code Version Control - this is Boon's lecture and is high level and no mention of Vagrant. Definitely keep this.

TA Demo: Project 0 Git - this one explicitly uses Vagrant.

TA Demo: Command Line - this also explicitly uses Vagrant.

Best to replace the above with a newly demo or demos before Spring 2022.

In Resources:

Introduction to GIT

  • A useful guide to GIT. Would it be worth keeping/ moving this to Week 1, and group it together with other Version Control related content?

Cannot create ssh key within Docker container

Reproduce the problem

OS: Window 10

When creating the ssh key, it says Could not create directory '/home/cit595/.ssh': Permission denied.

cit595@ba27ad01f3a3:~$ ssh-keygen -t ed25519 -C "[email protected]"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/cit595/.ssh/id_ed25519): 
Could not create directory '/home/cit595/.ssh': Permission denied
Enter passphrase (empty for no passphrase):
Enter same passphrase again: 
Saving key "/home/cit595/.ssh/id_ed25519" failed: No such file or directory

Reason

We did not change the ownership of cit595 to new user cit595 so /home/cit595 still belongs to root

cit595@ba27ad01f3a3:/home$ ls -al
total 8
drwxr-xr-x 1 root root 4096 May 25 20:15 .
drwxr-xr-x 1 root root 4096 Sep  2 03:21 ..
drwxr-xr-x 2 root root   40 Sep  2 03:21 cit595

Potential Solution

Update the dockerfile by adding

RUN chown cit595:cit595 /home/cit595

Update "Project 0: Description"

The PDF instructions in Project 0: Description will need to be replaced with a updated instructions.

The current version (v5) is saved in Google Drive here: https://docs.google.com/document/d/1nb8pSyI3lWWMtjzwzGUlQuqskM8aH_x73qBxwaVqFcc/edit#

I see that @kuang-da already started working on a version of Project 0 description for Docker in August 2021:
https://docs.google.com/document/d/1Se_ncw_QvQluBo9k4gnIQqzWdACz8gHTIpG1zLlPaGk/edit#

I have compared it with v5 and have so far made some minor edits (list to be expanded in follow up comments to this issue):

  • Update the introduction to mention Docker and the available resources for completing this project.
  • Update Step 1 to point to resources in Week 1, rather than Resources section of Coursera (these need to be moved, see the related issue)

There are more edits that need to be made - removing a few references to Vagrant, and making sure that instructions are consistent with the GitHub README , which I believe is the current, most tested set of instructions. @kuang-da - can you confirm this?

update to Ubuntu 22

VSCode will stop supporting Ubuntu 18 in 2025, so we should just upgrade now

Make Vim plugins come out-of-box

Starting from a503785, I removed the PlugInstall from installation script. It is because now we mount the host folder to /home/cit595 and it will reset the Vim configuration. To bypass that, I added a section about Set up Vim in README.md but it would be nice if we could have all the plugins ready out-of-box.

Build image for ARM64

It would be nice if we could prepare the Docker image for Apple M1 students. But currently, Docker Hub is not able to automated build images for ARM64. Link

Docker Buildx can be used for cross-platform building.

Add python3

Unless I'm reading docker-setup.sh wrong, we don't give the students python? Can anyone confirm?

How to handle previously recorded Recitations for Project 0

Doing a search for "Vagrant" in Coursera brought up prior semesters' recorded Project 0 Recitations.

Would it make sense to remove previous Recitations? - To answer this later question, I would like to watch some of these videos and determine if they are still valuable in a post-Vagrant 595.

If we decide to keep them, it might make sense to add a sentence to Project 0 Description to the effect that recorded Recitations for Project 0 from Fall 2021 are for a different Virtual Machine setup.

Multi architecture build for amd64 and arm64 (Apple M1 Chip)

Recently, I've encountered issues when building the docker image from the Dockerfile and docker-setup.sh file.

Following the instructions in the README for ARM64 Architecture, when running "docker-compose build mcit", the build does not complete because of hash sums not matching for some installations in docker-setup.sh.

If I comment out all parts of the docker-setup.sh file after the line:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -

then the build is able to complete.

I believe the issue may have to do with my current internet, as I was able to build without problem in other locations.

I am not sure if others will encounter this issue, but I believe it would be best to do a multi-architecture build of the image for amd64 and arm64 so that Apple M1 users can also Pull the docker image and will not need to build it.

I am unable to build the multi-arch image because of the above issue.

@kuang-da , would you mind trying to build the multi-arch image and push it the course Dockerhub? I was able to follow tutorials online, such as this one, using my own Docker hub account and some test Dockerfiles.

colourize the prompt

There were some requests last semester to make the docker prompt have colour (similar to how vagrant looked). What is the possibility of modifying the bash profile to include colors for username and current directory?

Here is a basic resource: change bash colours

Update "Week 1 Lesson 3 Video: What is a Virtual Machine?"

Coursera Link

  • From 00:00 to 05:10, we talked about what is Virtual machine and why it is important for CIT 595. This part looks good.
  • From 05:10 to 06:17, we give a conceptual example of setting up Vagrant in the context of project 0. We could just trim this part out.
  • From 06:17 to the end, we answer the question why not just use "Codio". This part looks good.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.